(在有人建议我在这里发布问题之后,我已经从 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 中,也没有成功)
愚蠢的我,我用tomcat6.exe而不是startup.bat启动了tomcat。
现在工作。谢谢!
当类似的帖子指出我在设置 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 了解如何使用此变量。例如,
在 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。
欢呼
如果您将 Tomcat 作为服务运行,则您的选择会受到更多限制。您可能必须打开 Tomcat 属性对话框,翻转到 Java 选项卡,然后添加到“Java 选项”框的末尾。
根据之前的一些答案,我能够解决将 Tomcat 安装为 Windows 服务的问题。
我打开了配置 Tomcat(通过 Windows 中的所有程序菜单,在 Apache Tomcat 下),转到 Java 选项卡并添加了我想要的运行时启动属性。