2013-04-04 57 views
5

OSX(Tomcat7およびIDEA IntelliJ)12IDEA IntelliJ 12でJavaプロジェクトをデバッグできない

実行コンフィギュレーションは正常に動作します。 デバッグ構成は、と文句を言う:

/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ポストを見つけましたが、それは助けていません。

「システム変数から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の実行コマンド:

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

このsetenv.shが来た私にはわからない:

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

実際に実行されているコマンドラインの呼び出し( 'java'実行可能ファイルを呼び出すときにcatalina.shで)を表示できますか? – mpierce

+0

私はフォローしていません。 warファイルをtomcat webappsディレクトリにコピーしてcatalinaを実行します。 – Ryan

+0

javaを起動したときにTomcatの起動スクリプトに 'echo'文を追加して、使用されている実際のオプションを確認します。 – CrazyCoder

答えて

3

問題はcatalina.shが、このようなJAVA_OPTSを設定したsetenv.shを呼んでいたましたから、同僚のhomebrewのtomcatのインストールにはこのファイルがありませんでした。

今のところ、catalina_idea_debug.shを使用するようにIntelliJデバッグを設定しました。これは単にcatalina.shのコピーからsetenv.shの呼び出しを差し引いたものです。今はうまく動作します。

+0

fyi、setenv.shは、プロパティを含めるためにcatalina.shに基づいて提案された方法です。それにもかかわらず、あなたが指摘したように、setenv.shの使用はIdeaではうまくいきません。 – gpol

+0

私はIntellij 15でも** Windows **のtomcat実行構成で同じ問題を抱えていました。 ** setenv.bat **ファイルの名前をsetenv.bat.oldに変更したあと、設定をもう一度実行してデバッグ作業を行いました。 – Brod

関連する問題