我在windows 2012上運行tomcat 8.在Windows上爲tomcat設置用戶環境變量
我有一個web應用程序需要設置用戶環境變量才能運行。
我可以成功啓動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");
谷歌搜索並沒有幫助,因爲所有的頁面顯示如何設置Java和Tomcat變量,但不顯示如何設置用戶變量。
我無法爲整個機器設置它,因爲我有幾個tomcat實例,每個實例都需要一個不同的環境變量。
我寧願一種方法,涉及在tomcat配置中設置變量,而不是在Windows配置中。
我的選擇是在tomcat中使用context.xml文件,並用檢索上下文設置的邏輯來檢索值。
我最初在超級用戶上發佈了這個,但是有人建議stackoverflow是這個問題的更好的地方。如果我在這裏得到很好的答案,我會從超級用戶中刪除它。