2016-04-11 11 views
0

Ich versuche, Daemon zu verwenden, um meine exe zu einem Windows-Dienst zu packen. Und ich fand, dass, wenn der StartMode/StopMode JVM ist, die Umgebung jdk installiert haben muss. Wenn nicht, kann der Dienst nicht funktionieren. Auch ich versuche, den vollständigen Pfad von jvm.dll anzugeben (ich habe einen deinstallierten jre-Ordner), aber arbeite nicht auch. Also funktioniert jvm-Modus mit nicht installiertem jdk, nur ein jre-Ordner?Apache Daemon JVM-Modus nutzlos mit nur jre deinstalliert

%APP_HOME%\prunsrv.exe //IS//MyService --DisplayName="My Service" --Description="My Service Description"^
       --Install=%APP_HOME%\prunsrv.exe --Startup=auto^
       --Jvm="E:\jre\bin\server\jvm.dll"^
       --StartMode=jvm --StartClass=com.xx.temp.Main --StartMethod=start^
       --StopMode=jvm --StopClass=com.xx.temp.Main --StopMethod=stop^
       --Classpath=%APP_HOME%\stop.jar^
       --StartParams=-service^
       --StopTimeout=10^
       --StdOutput=%APP_HOME%\temp.txt --LogPath=./logs^
       --StdError=%APP_HOME%\error.txt 

By the way, habe ich gedacht "--StopTimeout = 10" bedeutet, wenn das Stop-Programm des Service ist nicht nach 10 Sekunden beendet, dann wird das System den Dienst mit Gewalt beenden. Aber es funktioniert nicht zu ???

Hat jemand eine Idee, bitte sagen Sie mir. Vielen Dank.

Antwort

0

Ich habe festgestellt, dass ich den --JavaHome Parameter nicht angegeben habe. So wird Daemon JAVA_HOME in der Umgebung verwenden, wenn ich JDK installiert habe. Das ist der wahre Grund.