2016-04-11 31 views
0

我想使用守護進程打包我的exe文件以成爲Windows服務。我發現如果StartMode/StopMode是JVM,那麼環境必須安裝jdk。如果沒有,該服務無法工作。另外我嘗試指定jvm.dll的完整路徑(我有一個卸載的jre文件夾),但不能工作。 那麼,jvm模式是否可以在沒有安裝jdk的情況下工作,只是一個jre文件夾?Apache Daemon JVM模式無用,只有jre卸載

%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 

順便說,我曾想到「--StopTimeout = 10」如果服務的停止程序沒有結束10秒後,然後系統將結束由力的服務手段。但它不工作呢?

有沒有人有任何想法,請告訴我。非常感謝你。

回答

0

我發現我沒有指定--JavaHome參數。因此,如果我已經安裝了JDK,Daemon將在環境中使用JAVA_HOME。這是真正的原因。