gpt4 book ai didi

debugging - Tomcat 关机失败

转载 作者:行者123 更新时间:2023-11-28 21:43:59 24 4
gpt4 key购买 nike

当我添加以下 Java 选项以启用调试时:

JAVA_OPTS="$JAVA_OPTS -noverify -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005"

每当我尝试关闭 tomcat 时,我都会收到以下错误:

ERROR: transport error 202: bind failed: Address already in use ["transport.c",L41]
ERROR: JDWP Transport dt_socket failed to initialize, TRANSPORT_INIT(510) ["debugInit.c",L500]
JDWP exit error JVMTI_ERROR_INTERNAL(113): No transports initializedFATAL ERROR in native method: JDWP No transports initialized, jvmtiError=JVMTI_ERROR_INTERNAL(113)

最佳答案

谢谢你的简短解释,PHeath!根据您的建议,我发现解决问题的最佳方法是使用 CATALINA_OPTS 而不是 JAVA_OPTS

查看 catalina.sh,可以看到 CATALINA_OPTS 仅被“start”和“start-security”命令使用,而 JAVA_OPTS 也被“stop”命令使用(至少对于 openSUSE 上的 Tomcat 6.0.33) 12.1).

至少,如果您使用包管理器在 Linux 上安装了 Tomcat,那么修改/etc/tomcat6/tomcat6.conf(或您的发行版中的任何路径)中的 CATALINA_OPTS 变量比直接更改 catalina.sh 脚本更干净,因为包管理器假设用户只更改配置文件,打破这个假设可能会在升级 Tomcat 包时导致问题(例如,由于 catalina.sh 文件被覆盖而丢失设置)。

我认为人们应该更喜欢 CATALINA_OPTS 而不是 JAVA_OPTS,不仅对于 JDWP,而且对于许多其他选项也是如此:e。 G。如果使用堆大小选项 -Xmx... 那么将其放入 CATALINA_OPTS 是合理的,因为“停止”命令不需要太多堆。

关于debugging - Tomcat 关机失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1096642/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com