1

Я использую Tomcat 8 на Windows 2012.

У меня есть веб-приложение, для работы которого необходимо установить переменную среды пользователя.

Я могу запустить tomcat и получить переменную успешно следующим образом:

set JAVA_HOME=C:\Program Files\Java\jdk1.8.0_65
set CATALINA_HOME=C:\TOOLS\apache-tomcat-8.0.30

set CATALINA_BASE=C:\Users\ULUser\tomcat\myapp
set MY_VAR=%CATALINA_BASE%
set PATH=%CATALINA_ROOT%\bin;%PATH%
set CATALINA_OPTS="-Djava.security.properties=%CATALINA_BASE%\conf\java.security.properties"

%CATALINA_HOME%\bin\catalina.bat run

Но когда я работаю в качестве службы Windows, я не могу получить переменную MY_VAR с помощью System.getenv("MY_VAR");

Поиск в Google не помог, потому что все страницы показывают, как устанавливать переменные Java и Tomcat, а не как настраивать пользовательские переменные.

Я не могу установить его для всей машины, потому что у меня есть несколько экземпляров tomcat, и каждому требуется своя переменная окружения.

Я бы предпочел метод, который включает установку переменной в конфигурации Tomcat, а не в конфигурации Windows.

Моя альтернатива - использовать файл context.xml в tomcat и получить значение с помощью логики, которая извлекает настройки контекста.

0