in service.bat , the code follow: set PR_JVM=%JAVA_HOME%\jre\bin\server\jvm.dll if exist "%PR_JVM%" goto foundJvm rem Set the client jvm from JAVA_HOME set PR_JVM=%JAVA_HOME%\jre\bin\client\jvm.dll if exist "%PR_JVM%" goto foundJvm but this code did not check jrockit's jvm.dll. and jrockit neither have directory "server" nor have directory "client" ,but noly have directory "jrockit" . eg: D:\Java\jrockit-R26.3.0-jdk1.5.0_06\jre\bin\jrockit\jvm.dll when set JAVA_HOME to jrockit for windows service and statr it ,it could not started . errot message: "Apache Tomcat 服务因 0 (0x0) 服务性错误而停止。" so the bat file should add follow code: ------------- set PR_JVM=%JAVA_HOME%\jre\bin\jrockit\jvm.dll if exist "%PR_JVM%" goto foundJvm ------------- to be follow: set PR_JVM=%JAVA_HOME%\jre\bin\server\jvm.dll if exist "%PR_JVM%" goto foundJvm rem Set the client jvm from JAVA_HOME set PR_JVM=%JAVA_HOME%\jre\bin\client\jvm.dll if exist "%PR_JVM%" goto foundJvm set PR_JVM=%JAVA_HOME%\jre\bin\jrockit\jvm.dll if exist "%PR_JVM%" goto foundJvm :)
Created attachment 18361 [details] the file had added code for check jrockit's jvm.dll
Good suggestion: I've implemented it for the next release. Thank you.