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

时间:2015-09-24 21:20:59

标签: windows tomcat7

我在Tomcat中安装了一个由设置环境变量

的包装器调用的应用程序
set FOO=c:\foo

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

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

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

看起来像这样

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

这也没有帮助。

请提出任何建议

3 个答案:

答案 0 :(得分:1)

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

我刚刚在另一个问题上写了这个:Setting User Environment Variables for tomcat on Windows

答案 1 :(得分:0)

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

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

答案 2 :(得分:0)

我有一个 InstallService.bat 文件。在文件中,我首先创建服务而不指定环境变量,然后使用指定的环境变量更新服务。这就是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

它现在开始工作。