CATALINA_OPTS vs JAVA_OPTS – 有什么区别?

我试图找出Apache Tomcatvariables – CATALINA_OPTSJAVA_OPTS之间的差异,并惊讶地发现这里没有问题/答案。 所以我想在找出差异之后在这里分享(回答)。 检查下面的答案/差异。

注意:在本文发布时,我们在CentOS5 64位版本上运行带有JDK 6u32的Apache Tomcat v6.0.10。

有两个环境variables – CATALINA_OPTSJAVA_OPTS – 它们都用于Tomcat的catalina.sh启动和closures脚本。 他们在该文件中的评论中描述为:

[JAVA_OPTS] :(可选)执行“start”,“stop”或“run”命令时使用的Java运行时选项

[CATALINA_OPTS] :(可选)执行“开始”或“运行”命令时使用的Java运行时选项

那么为什么有两个不同的variables? 有什么区别?

首先,在EITHERvariables中指定的任何东西都一样地传递给启动Tomcat的命令 – “start”或“run”命令 – 但只有在JAVA_OPTS中设置的值被传递给“stop”命令。 这对Tomcat在实际中的运行方式可能没有任何影响,因为它只影响运行的结束,而不是开始。

第二个区别比较微妙。 其他应用程序也可能使用JAVA_OPTS,但只有Tomcat将使用CATALINA_OPTS。 所以如果你设置的只是Tomcat使用的环境variables,最好build议使用CATALINA_OPTS,而如果你设置其他Java应用程序使用的环境variables(比如JBoss),你应该把您在JAVA_OPTS中的设置。

来源: CATALINA_OPTS v JAVA_OPTS – 有什么区别?