Estou executando o tomcat 8 no Windows 2012.
Eu tenho um webapp que precisa que uma variável de ambiente de usuário seja configurada para ser executada.
Eu posso iniciar o tomcat e recuperar a variável com sucesso assim:
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
Mas quando eu executo como um serviço do Windows, não consigo recuperar a variável MY_VAR
usando System.getenv("MY_VAR");
O uso de googling não ajudou porque todas as páginas mostram como definir as variáveis Java e Tomcat, mas não como definir variáveis de usuário.
Não consigo configurá-lo para toda a máquina porque tenho várias instâncias do tomcat e cada uma precisa de uma variável de ambiente diferente.
Eu preferiria um método que envolvesse a configuração da variável na configuração do tomcat e não com a configuração do Windows.
Minha alternativa é usar o arquivo context.xml no tomcat e recuperar o valor com a lógica que recupera as configurações de contexto.
Tags tomcat