CATALINA_OPTS 与 JAVA_OPTS - 有什么区别?
我试图找出 Apache Tomcat 变量之间的区别 - CATALINA_OPTS 和 JAVA_OPTS
StackOverflow">SO 惊讶地发现这里还没有发布任何问题/答案.所以我想在发现差异后在这里分享它(有答案).检查下面的答案/差异.
I was trying to find out the difference between Apache Tomcat variables - CATALINA_OPTS
and JAVA_OPTS
in SO and surprised to see that there is no question/answer posted here yet. So I thought of sharing it here (with answer) after finding out the difference. Check the answer/difference below.
注意:在发布本文时,我们在 CentOS5 64 位架构上运行 Apache Tomcat v6.0.10 和 JDK 6u32.
NOTE: At the time of this posting, we're running Apache Tomcat v6.0.10 with JDK 6u32 on CentOS5 64-bit arch.
推荐答案
有两个环境变量 - CATALINA_OPTS
和 JAVA_OPTS
- 在 catalina.sh Tomcat 的启动和关闭脚本.它们在该文件的注释中被描述为:
There are two environment variables - CATALINA_OPTS
and JAVA_OPTS
- which are both used in the catalina.sh startup and shutdown script for Tomcat. They are described in comments within that file as:
[JAVA_OPTS]:(可选)开始"、停止"或运行"时使用的 Java 运行时选项命令被执行
[JAVA_OPTS]: (optional) Java runtime options used when the "start", "stop" or "run" command is executed
和
[CATALINA_OPTS]:(可选)Java 运行时选项执行start"或run"命令时使用
[CATALINA_OPTS]: (optional) Java runtime options used when the "start" or "run" command is executed
那么为什么会有两个不同的变量呢?又有什么区别?
首先,在 EITHER 变量中指定的任何内容都被传递给启动 Tomcat 的命令——start"或run"命令——但只有 JAVA_OPTS 中设置的值被传递给stop"命令.这可能对 Tomcat 在实践中的运行方式没有任何影响,因为它只影响运行的结束,而不是开始.
Firstly, anything specified in EITHER variable is passed, identically, to the command that starts up Tomcat - the "start" or "run" command - but only values set in JAVA_OPTS are passed to the "stop" command. That probably doesn't make any difference to how Tomcat runs in practise as it only effects the end of a run, not the start.
第二个区别更微妙.其他应用程序也可能使用 JAVA_OPTS,但只有 Tomcat 会使用 CATALINA_OPTS.因此,如果您设置的环境变量仅供 Tomcat 使用,则最好使用 CATALINA_OPTS,而如果您设置的环境变量也可供其他 java 应用程序使用,例如 JBoss,您应该将您在 JAVA_OPTS 中的设置.
The second difference is more subtle. Other applications may also use JAVA_OPTS, but only Tomcat will use CATALINA_OPTS. So if you're setting environment variables for use only by Tomcat, you'll be best advised to use CATALINA_OPTS, whereas if you're setting environment variables to be used by other java applications as well, such as by JBoss, you should put your settings in JAVA_OPTS.
来源: CATALINA_OPTS v JAVA_OPTS - 有什么区别?
相关文章