在 Windows 上为 tomcat6 设置 CATALINA_OPTS 不起作用

在 Windows 上为 tomcat6 设置 CATALINA_OPTS 不起作用

(我从 Stack Overflow 复制了此内容这里,因为有人建议我在这里发布这个问题)

我正在尝试设置 Tomcat6 以与 Windows Vista 64 上的 JMX 一起工作。

为此,我需要将以下参数传递给 Tomcat6。

我在命令提示符下做了什么。(不起作用)

set CATALINA_OPTS="-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=9898 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false"
tomcat6.exe

我的做法确实有效(但会导致其他问题)

java -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=9898 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -jar bootstrap.jar

看起来好像 tomcat 只是忽略了环境变量 CATALINA_OPTS。我做错了什么吗?

我也尝试编辑 catalina.bat 并在其中定义变量 CATALINA_OPTS。没有成功。(也尝试将参数添加到 JAVA_OPTS,也没有成功)

答案1

我真傻,我使用 tomcat6.exe 而不是 startup.bat 来启动 tomcat。

现在有效。谢谢!

答案2

当类似的帖子指出设置 CATALINA_OPTS 时不应该使用引号“”时,我也遇到过类似的情况

http://javahowto.blogspot.com/2006/06/6-common-errors-in-setting-java-heap.html

去引用

如何在 Tomcat 中设置 Java 堆大小?停止 Tomcat 服务器,设置环境变量 CATALINA_OPTS,然后重新启动 Tomcat。查看文件 tomcat-install/bin/catalina.sh 或 catalina.bat 以了解此变量的用法。例如,

set CATALINA_OPTS=-Xms512m -Xmx512m  (Windows, no "" around the value)
export CATALINA_OPTS="-Xms512m -Xmx512m"  (ksh/bash, "" around the value)
setenv CATALINA_OPTS "-Xms512m -Xmx512m"  (tcsh/csh, "" around the value)

在 catalina.bat 或 catallina.sh 中,您可能已经注意到 CATALINA_OPTS、JAVA_OPTS 或两者均可用于指定 Tomcat JVM 选项。CATALINA_OPTS 和 JAVA_OPTS 之间有什么区别?名称 CATALINA_OPTS 特定于 Tomcat servlet 容器,而 JAVA_OPTS 可能由其他 java 应用程序(例如 JBoss)使用。由于环境变量由所有应用程序共享,因此我们不希望 Tomcat 无意中获取用于其他应用程序的 JVM 选项。我更喜欢使用 CATALINA_OPTS。

欢呼 ET

答案3

如果您将 Tomcat 作为服务运行,则选项会更加有限。您可能必须打开 Tomcat 属性对话框,翻到 Java 选项卡,然后在“Java 选项”框的末尾添加。

答案4

根据之前的一些答案,我能够解决将 Tomcat 安装为 Windows 服务的问题。

我打开了“配置 Tomcat”(通过 Windows 中的所有程序菜单,在 Apache Tomcat 下),转到 Java 选项卡并添加了我想要的运行时启动属性。

相关内容