首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法在IDEA IntelliJ 12中调试Java项目

无法在IDEA IntelliJ 12中调试Java项目
EN

Stack Overflow用户
提问于 2013-04-05 06:18:22
回答 2查看 6.4K关注 0票数 6

在带有Tomcat7和IDEA IntelliJ 12的OSX上。

运行配置运行良好。调试配置报错:

代码语言:javascript
复制
    /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

我找到了11年的this帖子,但它没有帮助。

关于“一旦我将其从系统变量中删除(在思想中它是只读的)问题被修复”的说明是有道理的。所以我试着从catalina.sh中删除整个代码块

代码语言:javascript
复制
    if [ -z "$JPDA_OPTS" ]; then
    JPDA_OPTS="-agentlib:jdwp=transport=$JPDA_TRANSPORT,address=$JPDA_ADDRESS,server=y,suspend=$JPDA_SUSPEND"
    fi

没帮上忙。任何帮助都将不胜感激。谢谢!

java运行命令:

代码语言:javascript
复制
    + 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
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-04-05 23:45:16

问题是catalina.sh调用了setenv.sh,而JAVA_OPTS是这样设置的:

代码语言:javascript
复制
    JAVA_OPTS="$JAVA_OPTS -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=8000"

我不知道这个setenv.sh是从哪里来的,因为一个同事自制的tomcat安装没有这个文件。

现在,我已经将IntelliJ调试配置为使用catalina_idea_debug.sh,它只是catalina.sh的副本减去对setenv.sh的调用。现在可以正常工作了。

票数 3
EN

Stack Overflow用户

发布于 2021-02-19 22:30:42

IntelliJ和JBoss也有类似的问题。对我来说,在standalone.conf中指定了包含jdwp配置的JAVA_OPTS。注释掉它使我能够从IntelliJ进行调试。

也许这对其他人搜索这个短语有帮助,因为互联网上没有太多的信息。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15822732

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档