如何将环境变量作为 Windows 服务传递给 Tomcat 运行

How to pass environment variable to Tomcat running as Windows service

我在 Tomcat 中安装了一个应用程序,该应用程序由设置环境变量的包装器调用

set FOO=c:\foo

并调用 startup.bat,我需要 运行 Tomcat 作为 windows 服务。

到目前为止,我尝试设置系统环境变量,但没有帮助。 我尝试按照 windows 服务 HOWTO 在注册表中附加 ++Environment,以便

 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tomcat7\Parameters\ImagePath 

看起来像这样

C:\Apache\Tomcat-7.0.64\bin\Tomcat7.exe //RS//Tomcat7 ++Environment=FOO=c:\foo

这也没有帮助。

有什么建议,请

你快到了。在您的 tomcat7 命令中用 space 替换等号,这应该有效。

我刚刚在另一个问题上写了这篇文章:

我必须更改 --service.bat 文件的 JvmOptions 然后删除该服务并重新安装。

--JvmOptions "-Dspring.profiles.active=pp;-Dcatalina.home=%CATALINA_HOME%;...."

我有一个 InstallService.bat 文件。在文件中,我首先在不指定环境变量的情况下创建服务,然后使用环境变量更新服务 specified.This 是 bat 文件的样子。

tomcat8 //IS//CompassTomcat8_8080 --DisplayName="Compass Apache Tomcat 8:8080" --Install=%CATALINA_HOME%\bin\tomcat8.exe --Startup=auto
tomcat8 //US//CompassTomcat8_8080 --DisplayName="Compass Apache Tomcat 8:8080" --Install=%CATALINA_HOME%\bin\tomcat8.exe --Startup=auto --Environment=Key1=Value1;Key2=Value2

现在已经开始工作了。