【发布时间】:2011-11-24 14:38:32
【问题描述】:
我有以下代码:
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,因为一些本地代码加载问题。
我的问题是,服务安装程序将更改提供的 PATH: http://tomcat.apache.org/tomcat-5.5-doc/windows-service-howto.html
--环境
分隔
将以 key=value 形式提供给服务的环境变量列表。它们使用 # 或 ; 个字符
我需要指定一个包含两个位置的 Windows PATH:PATH=.;c:\path\bin
路径将存储在注册表中:
PATH=.
c:\path\bin
应该是:
PATH=.;c:\path\bin
它按描述工作,所以我想我错过了一些东西,但我没有找到任何关于如何设置 PATH 和解决这个问题的信息......
PS: 我知道我使用的是过时版本的 tomcat。
【问题讨论】:
-
你能编辑启动Tomcat的.bat脚本吗?
-
tomcat 不是通过 *.bat 作为 windows 服务启动的。但如果需要,我可以更改所有脚本。
-
您提到您希望 PATH 为 PATH=.;c:\path\bin 但您正在运行的命令是 tomcat5.exe //US//%SERVICE_NAME% --Environment "PATH =.\;bin" 此外,由于这是一项服务,您可能需要添加完整路径而不是“.”。运行上述命令时是否收到错误消息?
-
是一个错字...问题似乎是,apache serviceinstaller 将 --Environment 参数拆分为 ';'符号。所以我无法以这种方式提供 Windows PATH,因为 Windows 路径分隔符是 ;也是。