Windows下设置tomcat的用户环境变量



我在Windows Server 2012上运行tomcat 8。

我有一个web应用程序,需要设置一个用户环境变量才能运行。

我可以启动tomcat并像这样成功地检索变量:

set JAVA_HOME=C:Program FilesJavajdk1.8.0_65
set CATALINA_HOME=C:TOOLSapache-tomcat-8.0.30
set CATALINA_BASE=C:UsersULUsertomcatmyapp
set MY_VAR=%CATALINA_BASE%
set PATH=%CATALINA_ROOT%bin;%PATH%
set CATALINA_OPTS="-Djava.security.properties=%CATALINA_BASE%confjava.security.properties"
%CATALINA_HOME%bincatalina.bat run

但是当我作为windows服务运行时,我无法使用System.getenv("MY_VAR");检索MY_VAR变量

谷歌没有帮助,因为所有的页面显示如何设置Java和Tomcat变量,但没有如何设置用户变量。

我不能为整个机器设置它,因为我有几个tomcat实例,每个实例需要一个不同的环境变量。

我更喜欢在tomcat配置中设置变量的方法,而不是在windows配置中设置变量。

我的替代方法是在tomcat中使用context.xml文件,并使用检索上下文设置的逻辑检索值。

从管理命令提示符执行以下命令:

tomcat8 //US//YourServiceName ++Environment varname=value

可以设置多个变量,用分号(;)或散列(#)分隔。文档非常清楚,但很难相信发生了什么,因为没有任何视觉指示,这意味着如果您运行:

tomcat8w //ES//YourServiceName 

来获取GUI配置工具,您将不会在任何地方看到环境变量,但是如果您运行该服务,它将拾取它。这就像隐藏的魔法。不知道为什么他们没有在配置面板中包含它

相关内容

  • 没有找到相关文章

最新更新