我想添加可以通过我的 tomcat web-app 访问的环境变量。我已经浏览了这个链接,但我想在 root 用户中设置环境变量。怎么做?
问问题
19234 次
4 回答
8
根据文档(http://tomcat.apache.org/tomcat-7.0-doc/RUNNING.txt),您应该在 $CATALINA_HOME/bin/setenv.sh 中设置所有环境变量
编辑:为了完整起见,我想值得一提的是,即使这是推荐的方式,上面的文档指出:
默认情况下不存在 setenv 脚本文件。如果脚本文件同时存在于 CATALINA_BASE 和 CATALINA_HOME 中,则首选 CATALINA_BASE 中的那个。
如果它不存在,您可能还想在以下位置查找环境变量:
/etc/tomcat/tomcat[67].conf
(使用)或/etc/default/tomcat[67].conf
(例如ubuntu)或/etc/sysconfig/tomcat[67].conf
(rhel,软呢帽)
于 2014-12-11T07:52:27.383 回答
1
这是你可以做到的
- sudo su 和 cd 到 /var/lib/tomcat8/bin/ (或者你的 tomcat bin 路径)
- 触摸 setenv.sh(如果它不存在),如果文件已经存在,则执行 'vi setenv.sh'
- chmod 777 setenv.sh(使文件可执行)
- vi setenv.sh 并在 setenv.sh export key=value 中设置以下行
- sudo systemctl 重启 tomcat.service
在您的 java 文件中,您可以使用以下代码检查变量是否已设置
private static void printEnv() {
System.out.println("******************************Environment Vars*****************************");
Map<String, String> enviorntmentVars = System.getenv();
enviorntmentVars.entrySet().forEach(System.out::println);
System.out.println("******************************system Vars*****************************");
Properties enviorntmentProperties = System.getProperties();
enviorntmentVars.entrySet().forEach(System.out::println);
}
于 2020-10-17T08:14:45.820 回答
0
得到了解决方案......我所做的是我将导出语句放在 /etc/init.d/tomcat6
顶部并通过命令重新启动服务器sudo /etc/init.d/tomcat6 restart
。所以现在我在 tomcat 服务器中运行的 web 应用程序可以访问该变量。
于 2012-04-25T08:59:36.547 回答
-1
这行不通吗?
转到您的环境文件。sudo vi /etc/environment 并添加所需的变量。并保存文件。
我认为在最近的 Ubuntu 中,您必须重新启动系统才能使更改生效。
于 2012-04-14T12:09:36.767 回答