在 Windows 上为 tomcat 设置用户环境变量

在 Windows 上为 tomcat 设置用户环境变量

我在 Windows 2012 上运行 tomcat 8。

我有一个 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 文件并使用检索上下文设置的逻辑来检索值。

答案1

服务可以拥有专门为其设置的环境。我已经演示了如何为 Windows 更新服务执行此操作. 只需将同样的逻辑应用于Tomcat 服务应用程序

这是一个非常超级用户做事的方式。

相关内容