9

我想添加可以通过我的 tomcat web-app 访问的环境变量。我已经浏览了这个链接,但我想在 root 用户中设置环境变量。怎么做?

4

4 回答 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

这是你可以做到的

  1. sudo su 和 cd 到 /var/lib/tomcat8/bin/ (或者你的 tomcat bin 路径)
  2. 触摸 setenv.sh(如果它不存在),如果文件已经存在,则执行 'vi setenv.sh'
  3. chmod 777 setenv.sh(使文件可执行)
  4. vi setenv.sh 并在 setenv.sh export key=value 中设置以下行
  5. 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 回答