Ustawianie zmiennych środowiska użytkownika dla tomcat w systemie Windows

1

Używam tomcat 8 w systemie Windows 2012.

Mam aplikację internetową, która wymaga uruchomienia zmiennej środowiskowej użytkownika w celu uruchomienia.

Mogę uruchomić tomcat i pomyślnie pobrać zmienną w następujący sposób:

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

Ale kiedy działam jako usługa systemu Windows, nie mogę pobrać MY_VARzmiennej za pomocąSystem.getenv("MY_VAR");

Googling nie pomógł, ponieważ wszystkie strony pokazują, jak ustawić zmienne Java i Tomcat, ale nie jak ustawić zmienne użytkownika.

Nie mogę ustawić tego dla całej maszyny, ponieważ mam kilka instancji tomcat i każda z nich potrzebuje innej zmiennej środowiskowej.

Wolałbym metodę polegającą na ustawianiu zmiennej w konfiguracji tomcat zamiast w konfiguracji Windows.

Moją alternatywą jest użycie pliku context.xml w tomcat i pobranie wartości za pomocą logiki, która pobiera ustawienia kontekstu.

Michael Potter
źródło
stos przepełnienia jest do tego lepszy.
Ungeheuer,