Java CATALINA_OPTS在Tomcat中是如何工作的?

Java CATALINA_OPTS在Tomcat中是如何工作的?,java,tomcat,servlets,Java,Tomcat,Servlets,我很好奇CATALINA_OPTS在Apache Tomcat的后台是如何工作的?是的,我知道它是在Tomcat启动和运行时执行的,我在其中添加了一些参数供我的程序使用,甚至我使用了很长时间,将它添加到我的VM参数中,但不确定它到底是如何运行的 例如,在Web.xml中将这些参数设置为context init参数难道不可能吗?它们只是命令行选项,Tomcat启动脚本在Java运行时可执行文件启动时传递给它。您无法在运行时更改它们,因为服务器已经在运行。稍微扩展了Zutty的answser。一个运

我很好奇CATALINA_OPTS在Apache Tomcat的后台是如何工作的?是的,我知道它是在Tomcat启动和运行时执行的,我在其中添加了一些参数供我的程序使用,甚至我使用了很长时间,将它添加到我的VM参数中,但不确定它到底是如何运行的


例如,在Web.xml中将这些参数设置为context init参数难道不可能吗?

它们只是命令行选项,Tomcat启动脚本在Java运行时可执行文件启动时传递给它。您无法在运行时更改它们,因为服务器已经在运行。

稍微扩展了Zutty的answser。一个运行中的Tomcat实例可以通过调整

谢谢你能再解释一下吗?上下文参数之间有什么区别?文件中有很多属性,我把CATALINA_OPTS用作-Dmy.properties.fileCATALINA_OPTS应该用于Java设置,比如内存(比如-Xmx)和JVM全局变量,比如XML解析器等等。上下文参数特定于单个webapps,应用于应用程序设置。最好将
my.properties.file
放在
context.xml
文件中,并在运行时使用JNDI进行查找。文件中有很多属性,我使用CATALINA_OPTS作为-Dmy.properties.file许多java程序在创建之前接受某种方式的用户值并传递给jvm。通常使用环境变量(_OPTS)。例如ant、groovy。。。虽然某些参数可以在流程启动后更改,但其他参数如内存设置可以通过此类变量轻松配置。