(我从 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 选项卡并添加了我想要的运行时启动属性。