6

OSX w/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

'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

役に立ちませんでした。どんな助けでも大歓迎です。ありがとう!

Java 実行コマンド:

    + 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
4

2 に答える 2

3

問題は catalina.sh が setenv.sh を呼び出していて、JAVA_OPTS を次のように設定していたことです。

    JAVA_OPTS="$JAVA_OPTS -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=8000"

このsetenv.shがどこから来たのかはわかりません.Tomcatの同僚の自作インストールにはこのファイルがありませんでした。

今のところ、私は catalina_idea_debug.sh を使用するように IntelliJ デバッグを構成しました。これは、単に catalina.sh のコピーから setenv.sh への呼び出しを除いたものです。今は正常に動作します。

于 2013-04-05T15:45:16.110 に答える