我有以下代码:
tomcat5.exe //IS//%SERVICE_NAME% --StartPath "%BASE_DIR%\bin" --Jvm "%JAVA_HOME%\bin\%JAVA_MODE%\jvm.dll" --StartClass org.apache.catalina.startup.Bootstrap --StopClass org.apache.catalina.startup.Bootstrap --StartParams "-config;%CONFIG%;start" --StopParams stop --Startup auto
tomcat5.exe //US//%SERVICE_NAME% --JvmOptions "-Dcatalina.base=%CATALINA_BASE%#-Dcatalina.home=%CATALINA_HOME%#-Djava.endorsed.dirs=%CATALINA_HOME%\common\endorsed#-Xrs#-Djava.library.path=%DLL_DIR%#-DimageservicePath=%imageservicePath%" --StartMode jvm --StopMode jvm
tomcat5.exe //US//%SERVICE_NAME% ++JvmOptions "-Djava.io.tmpdir=%CATALINA_BASE%\temp"
tomcat5.exe //US//%SERVICE_NAME% --JvmMx %MEMORY% --JvmMs %MIN_MEMORY%
tomcat5.exe //US//%SERVICE_NAME% --Environment "PATH=.\;c:\path\bin"
我需要指定一个特殊的PATH,因为一些本机代码加载问题。
我的问题是,服务安装程序将更改提供的路径: http://tomcat.apache.org/tomcat-5.5-doc/windows-service-howto.html
- 环境
分隔
将以key = value形式提供给服务的环境变量列表。它们使用#或 ; 字符
我需要指定一个带有两个位置的Windowes PATH:PATH=.;c:\path\bin
该路径将存储在注册表中:
PATH=.
c:\path\bin
它应该是:
PATH=.;c:\path\bin
它按照描述的方式工作,所以我想我错过了一些东西,但我没有找到任何关于如何设置PATH并解决这个问题...
PS: 我知道我正在使用一个过时的tomcat版本。
答案 0 :(得分:3)
好吧,在我下载了源代码并弄明白后,使用了apache-commons procrun deamon,我终于找到了解决方案。 tomcat项目的文档不完整:
http://commons.apache.org/daemon/procrun.html
++环境
将以key = value形式提供给服务的环境变量列表。它们使用#或;分开字符。 如果您需要嵌入#或;值中的字符将它们放在单引号内。
最后一句导致解决方案:
“%EXECUTABLE%”// US //%SERVICE_NAME% - 环境“路径='%PATH%'”