运行在tomcat里的war包是无法直接读取操作系统的环境变量的,它读取的是运行war包的服务器进程的环境变量,也就是tomcat的环境变量。
根据官方文档,区别于CATALINA_HOME和CATALINA_BASE,其它的环境变量可以用setenv脚本来实现。这个脚本一般放在CATALINA_BASE/bin 或者 CATALINA_HOME/bin文件夹下。tomcat会自动去执行这个脚本。
比如在centos7环境中,在$CATALINA_BASE/bin/setenv.sh 文件中配置环境变量:
export JRE_HOME=/usr/java/latest
export CATALINA_PID="$CATALINA_BASE/tomcat.pid"
备注:这里的环境变量仅限于用标准脚本启动tomcat才能使用。我用的是centos,脚本里需要用export导出才有效。
网友评论