【发布时间】:2010-11-19 19:51:17
【问题描述】:
好吧,这很难看。我有一个在 Linux 机器(CentOS 5)上的 Tomcat 6 实例中运行的 .war 文件。 Java 代码包括对Runtime.exec(cmd) 方法的调用,在该方法中它转至运行本机应用程序的单行shell 脚本。 (R,如果你好奇的话......)一切都很好,除了本机应用程序需要设置一些环境变量,它可以执行诸如访问数据库之类的操作。我无法编辑 java 代码并重新编译。我想我可以编辑 .war 文件的内容,但我不知道要编辑什么。但我认为这没关系——子进程通常会继承父进程的环境,对吧?所以我只需要JVM的环境来包含ORACLE_HOME和其他环境变量,我想。
我发现您可以将变量放入 tomcat 进程加载时使用的 bin/setenv.sh 文件中。我尝试在那里添加环境变量,但这不起作用。
所以:
- 有没有办法设置将被继承到 JVM 进程级别的环境变量,以便我执行的应用程序也继承这些变量?
- 如果不是,我应该在 .war 文件中编辑什么来手动设置这些变量? (那有多丑??)
感谢您帮助我完成这个丑陋的黑客攻击!
【问题讨论】:
标签: tomcat coding-style jvm environment-variables