CATALINA_OPTS vs JAVA_OPTS - 有什么区别?
我试图找出Apache Tomcat变量之间的区别 - 在SO中,并惊讶地发现这里还没有发布任何问题/答案。因此,在发现差异后,我想在这里分享(带答案)。检查下面的答案/差异。CATALINA_OPTS
JAVA_OPTS
注意:在撰写本文时,我们正在 CentOS5 64 位 arch 上运行带有 JDK 6u32 的 Apache Tomcat v6.0.10。
我试图找出Apache Tomcat变量之间的区别 - 在SO中,并惊讶地发现这里还没有发布任何问题/答案。因此,在发现差异后,我想在这里分享(带答案)。检查下面的答案/差异。CATALINA_OPTS
JAVA_OPTS
注意:在撰写本文时,我们正在 CentOS5 64 位 arch 上运行带有 JDK 6u32 的 Apache Tomcat v6.0.10。
有两个环境变量 - 和 - 都在 Tomcat 的启动和关闭脚本中使用。CATALINA_OPTS
JAVA_OPTS
catalina.sh
CATALINA_OPTS:catalina.sh 内评论:
# CATALINA_OPTS (Optional) Java runtime options used when the "start",
# "run" or "debug" command is executed.
# Include here and not in JAVA_OPTS all options, that should
# only be used by Tomcat itself, not by the stop process,
# the version command etc.
# Examples are heap size, GC logging, JMX ports etc.
JAVA_OPTS:catalina.sh 内评论:
# JAVA_OPTS (Optional) Java runtime options used when any command
# is executed.
# Include here and not in CATALINA_OPTS all options, that
# should be used by Tomcat and also by the stop process,
# the version command etc.
# Most options should go into CATALINA_OPTS.
那么,为什么有两个不同的变量呢?有什么区别?
首先,在任一变量中指定的任何内容都以相同的方式传递给启动 Tomcat 的命令 - or 命令 - 但只有 中设置的值被传递给该命令。这可能对Tomcat在实践中的运行方式没有任何影响,因为它只影响运行的结束,而不是开始。start
run
JAVA_OPTS
stop
第二个区别更微妙。其他应用程序也可以使用,但只有Tomcat会使用。因此,如果您要将环境变量设置为仅供 Tomcat 使用,则最好使用 ,而如果您要将环境变量也设置为由其他 Java 应用程序(如 JBoss)使用,则应将设置放入 。JAVA_OPTS
CATALINA_OPTS
CATALINA_OPTS
JAVA_OPTS
我想补充一点,并且是相辅相成的:如果你定义了两个环境变量,两者的内容将被连接起来并传递给和命令 - 正如上面的Gnanam所解释的那样。JAVA_OPTS
CATALINA_OPTS
start
run
您也可以参考原始来源 catalina.sh