有两个环境变量 - CATALINA_OPTS和JAVA_OPTS - 它们都在Tomcat的catalina.sh启动和关闭脚本中使用。 它们在该文件的注释中描述为:
[JAVA_OPTS] :(可选)当"开始","停止"时使用的Java运行时选项。 或"运行" 执行命令
和
[CATALINA_OPTS] :(可选)Java运行时选项 当"开始" 或"运行" 执行命令
那么为什么有两个不同的变量呢? 那有什么区别?
首先,EITHER变量中指定的任何内容都以相同的方式传递给启动Tomcat的命令 - " start" 或"运行" 命令 - 但只有在JAVA_OPTS中设置的值才会传递给" stop" 命令。 这可能对Tomcat在实践中的运行方式没有任何影响,因为它只影响运行的结束,而不是开始。
第二个区别更微妙。 其他应用程序也可以使用JAVA_OPTS,但只有Tomcat才会使用CATALINA_OPTS。 因此,如果您只设置环境变量以供Tomcat使用,那么最好建议您使用CATALINA_OPTS,而如果您正在设置环境变量以供其他Java应用程序使用,例如 通过JBoss,您应该将您的设置放在JAVA_OPTS中。
来源:CATALINA_OPTS v JAVA_OPTS - 有什么区别?