Как передать переменную среды в Tomcat, работающий как служба Windows

У меня есть приложение, установленное в 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

Это тоже не помогло.

Любые предложения, пожалуйста


person PassoGiau    schedule 24.09.2015    source источник
comment
stackoverflow.com/a/6225751/3166303   -  person leeor    schedule 25.09.2015
comment
Эта ссылка предлагает tomcat tomcat5w.exe (и более новый tomcat7w.exe и т. д.). Есть способ передать java-аргументы, кажется, в этом вопросе все в порядке. (ответ говорит неправильно, эта вкладка не видна из окна службы widows) Службе Windows обычно трудно передавать аргументы командной строки. Существующее поле на первой вкладке работает только при ручном запуске   -  person Jacek Cz    schedule 25.09.2015
comment
Нет, это не аргумент и не системное свойство. Это переменная среды.   -  person PassoGiau    schedule 25.09.2015


Ответы (3)


Ты был почти там. Замените знак равенства пробелом в вашей команде tomcat7, и это должно сработать.

Я только что написал это по другому вопросу: Настройка переменных среды пользователя для кот в Windows

person hktegner    schedule 06.12.2016

Мне пришлось изменить --JvmOptions в файле service.bat, затем удалить службу и переустановить ее снова.

--JvmOptions "-Dspring.profiles.active=pp;-Dcatalina.home=%CATALINA_HOME%;...."
person Subhas    schedule 02.06.2017

У меня есть файл 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

Он начал работать сейчас.

person Deepak Pandey    schedule 28.06.2018