Rya*_*yan 6 java debugging intellij-idea catalina tomcat7
在OSX上使用Tomcat7和IDEA IntelliJ 12.
运行配置工作正常.调试配置抱怨:
/usr/local/Cellar/tomcat/7.0.37/libexec/bin/catalina.sh run
Error occurred during initialization of VM
agent library failed to init: jdwp
ERROR: Cannot load this JVM TI agent twice, check your java command line for duplicate jdwp options.
Disconnected from server
Run Code Online (Sandbox Code Playgroud)
我从'11 发现这篇文章,但它没有帮助.
关于"一旦我从系统变量中删除它(在IDEA内部是只读的)问题被修复的说明"是有道理的.所以我尝试从catalina.sh中删除整个块
if [ -z "$JPDA_OPTS" ]; then
JPDA_OPTS="-agentlib:jdwp=transport=$JPDA_TRANSPORT,address=$JPDA_ADDRESS,server=y,suspend=$JPDA_SUSPEND"
fi
Run Code Online (Sandbox Code Playgroud)
没有帮助.任何帮助将不胜感激.谢谢!
java run命令:
+ eval exec '"/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/bin/java"' '"-Djava.util.logging.config.file=/Users/ryan/Library/Caches/IntelliJIdea12/tomcat/Unnamed_secure_post_3/conf/logging.properties"' -Xdebug -Xrunjdwp:transport=dt_socket,address=127.0.0.1:65523,suspend=y,server=n -Dcom.sun.management.jmxremote= -Dcom.sun.management.jmxremote.port=1099 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -Djava.rmi.server.hostname=127.0.0.1 -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=8000 -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager '-Djava.endorsed.dirs="/usr/local/Cellar/tomcat/7.0.37/libexec/endorsed"' -classpath '"/usr/local/Cellar/tomcat/7.0.37/libexec/bin/bootstrap.jar:/usr/local/Cellar/tomcat/7.0.37/libexec/bin/tomcat-juli.jar"' '-Dcatalina.base="/Users/ryan/Library/Caches/IntelliJIdea12/tomcat/Unnamed_secure_post_3"' '-Dcatalina.home="/usr/local/Cellar/tomcat/7.0.37/libexec"' '-Djava.io.tmpdir="/usr/local/Cellar/tomcat/7.0.37/libexec/temp"' org.apache.catalina.startup.Bootstrap start
Run Code Online (Sandbox Code Playgroud)
问题是 catalina.sh 正在调用 setenv.sh,它设置 JAVA_OPTS 如下:
JAVA_OPTS="$JAVA_OPTS -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=8000"
Run Code Online (Sandbox Code Playgroud)
我不知道这个 setenv.sh 从哪里来,因为同事自制的 tomcat 安装没有这个文件。
目前,我已将 IntelliJ 调试配置为使用 catalina_idea_debug.sh,它只是 catalina.sh 的副本减去对 setenv.sh 的调用。现在工作正常。
| 归档时间: |
|
| 查看次数: |
5631 次 |
| 最近记录: |