我试图找出 Apache Tomcat 变量之间的区别 - CATALINA_OPTS
和 JAVA_OPTS
在 SO 中,惊讶地发现这里还没有发布问题/答案。所以我在找出区别后想到在这里分享它(有答案)。检查下面的答案/差异。
注意: 在发布这篇文章时,我们在 CentOS5 64 位架构上运行 Apache Tomcat v6.0.10 和 JDK 6u32。
原文由 Gnanam 发布,翻译遵循 CC BY-SA 4.0 许可协议
我想补充一点 JAVA_OPTS
和 CATALINA_OPTS
是 相互补充 的:如果你定义了两个环境变量, 两者的内容将被连接 并传递给 start
和 run
命令 - 正如上面的 Gnanam 所解释的。
也可以参考 catalina.sh的原始来源
原文由 Peter Wippermann 发布,翻译遵循 CC BY-SA 4.0 许可协议
15 回答8.4k 阅读
8 回答6.2k 阅读
1 回答4.1k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
2 回答3.1k 阅读
2 回答3.8k 阅读
3 回答1.7k 阅读✓ 已解决
有两个环境变量 -
CATALINA_OPTS
和JAVA_OPTS
都用于catalina.sh
Tomcat 的启动和关闭脚本。CATALINA_OPTS : 在 catalina.sh 中评论:
JAVA_OPTS : 在 catalina.sh 中评论:
那么为什么会有两个不同的变量呢?有什么区别?
首先,EITHER 变量中指定的任何内容都相同地传递给启动 Tomcat 的命令 -
start
或run
命令 - 但仅在JAVA_OPTS
-a 中设置的值被传递给stop
命令。这可能对 Tomcat 在实践中的运行方式没有任何影响,因为它只影响运行的结束,而不影响开始。第二个区别更微妙。其他应用程序也可以使用
JAVA_OPTS
,但只有 Tomcat 会使用CATALINA_OPTS
。因此,如果您设置的环境变量仅供 Tomcat 使用,则最好建议您使用CATALINA_OPTS
,而如果您设置的环境变量也供其他 Java 应用程序使用,例如通过 JBoss,您应该将您的设置放在JAVA_OPTS
中。资料来源: CATALINA_OPTS v JAVA_OPTS - 有什么区别?