Ich versuche, einen Build-Prozess einzurichten, während der ein Windows-Dienst gestartet und gestoppt werden muss. Ich habe versucht, das zu tun, indem Sie die exec-maven-plugin
mit:Batch-Skript als Admin während Maven build
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>1.6.0</version>
<executions>
<execution>
<id>startServer</id>
<goals>
<goal>exec</goal>
</goals>
<configuration>
<executable>${project.basedir}/bin/startService.cmd</executable>
<workingDirectory>${project.basedir}/bin</workingDirectory>
</configuration>
</execution>
</executions>
</plugin>
Das Problem, das ich laufen in ist, dass in der Lage sein, Dienste zu kontrollieren, müssen Sie adminsitrative Rechte haben. Mein Benutzer ist lokaler Administrator, so dass das Skript funktioniert, wenn ich es in einer erhöhten Eingabeaufforderung ausführe (Rechtsklick -> 'Als Adminsitrator ausführen').
Ich habe versucht mit runas /user:administrator
, aber es fordert zur Eingabe eines Passworts. Ich könnte den Maven-Build selbst als Admin ausführen, aber ich möchte ihn in Umgebungen ausführen, in denen dies möglicherweise nicht möglich ist (Eclipse, Jenkins).
Hat jemand eine Idee, wie man das beschriebene Szenario implementiert?
Warum möchten Sie während eines Builds einen Dienst ausführen? – khmarbaise
@khmarbaise Es wird zu lange dauern, es im Detail zu erklären. Sagen wir einfach, ich möchte den Build-Prozess eines Produkts/Frameworks, das wir verwenden, "mavenisieren" und wenig Einfluss darauf haben. –
Dies kann Ihnen einige Ideen geben https://stackoverflow.com/questions/47895544/mkdir-in-batch-file-as-admin/47896026#47896026 – ACatInLove