如何在 Windows 下使用特定 PATH 安装 tomcat?

Posted

技术标签:

【中文标题】如何在 Windows 下使用特定 PATH 安装 tomcat?【英文标题】:How to install tomcat with a specific PATH under Windows? 【发布时间】: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 路径分隔符是 ;也是。 【参考方案1】:

好吧,在我下载了源代码并弄清楚之后,使用了 apache-commons procrun 守护程序,我终于找到了解决方案。 tomcat 项目的文档不完整:

http://commons.apache.org/daemon/procrun.html

++环境 将以 key=value 形式提供给服务的环境变量列表。它们使用 # 或 ; 分隔。人物。 如果您需要嵌入 # 或 ;值中的字符将它们放在单引号内。

最后一句话引出解决方案:

"%EXECUTABLE%" //US//%SERVICE_NAME% --Environment "PATH='%PATH%'"

【讨论】:

谢谢! :) 对其他人来说,PATH 周围的引号对于处理包含 字符的现有路径很重要(否则 PATH 将不完整) @SverrirSigmundarson 现在是 2019 年,而不是 2090 年 ... PATH 变量中的空格字符尚未修复 :) 大声笑,阿门兄弟! ;)

以上是关于如何在 Windows 下使用特定 PATH 安装 tomcat?的主要内容,如果未能解决你的问题,请参考以下文章

如何在windows下安装reviewboard

如何在不安装在 Windows 10 上的情况下知道与特定 XAMPP 版本关联的 php 版本?

windows下如何安装pip

windows下如何安装pip

mingw64位,win764位如何安装,环境变量?

如何在Windows10下配置anaconda环境变量?