Intellijでデバッガーポートを開けません。ポート番号9009は、アプリケーションの構成ファイルに設定されているものと一致します。
<Java-config debug-options="-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=9009" system-classpath="" native-library-path-prefix="D:\Project\lib\windows\64bit" classpath-suffix="">
<jvm-options>-XX:MaxPermSize=192m</jvm-options>
<jvm-options>-client</jvm-options>
<jvm-options>-XX:+UnlockDiagnosticVMOptions</jvm-options>
<jvm-options>-XX:+LogVMOutput</jvm-options>
<jvm-options>-XX:LogFile=${com.Sun.aas.instanceRoot}/logs/jvm.log</jvm-options>
<jvm-options>-Djava.endorsed.dirs=${com.Sun.aas.installRoot}/modules/endorsed${path.separator}${com.Sun.aas.installRoot}/lib/endorsed</jvm-options>
<jvm-options>-Djava.security.policy=${com.Sun.aas.instanceRoot}/config/server.policy</jvm-options>
<jvm-options>-Djava.security.auth.login.config=${com.Sun.aas.instanceRoot}/config/login.conf</jvm-options>
<jvm-options>-Dcom.Sun.enterprise.security.httpsOutboundKeyAlias=s1as</jvm-options>
<jvm-options>-Djavax.net.ssl.keyStore=${com.Sun.aas.instanceRoot}/config/keystore.jks</jvm-options>
<jvm-options>-Djavax.net.ssl.trustStore=${com.Sun.aas.instanceRoot}/config/cacerts.jks</jvm-options>
<jvm-options>-Djava.ext.dirs=${com.Sun.aas.javaRoot}/lib/ext${path.separator}${com.Sun.aas.javaRoot}/jre/lib/ext${path.separator}${com.Sun.aas.instanceRoot}/lib/ext</jvm-options>
<jvm-options>-Djdbc.drivers=org.Apache.derby.jdbc.ClientDriver</jvm-options>
<jvm-options>-DANTLR_USE_DIRECT_CLASS_LOADING=true</jvm-options>
<jvm-options>-Dcom.Sun.enterprise.config.config_environment_factory_class=com.Sun.enterprise.config.serverbeans.AppserverConfigEnvironmentFactory</jvm-options>
<jvm-options>-Dosgi.Shell.telnet.port=4766</jvm-options>
<jvm-options>-Dosgi.Shell.telnet.maxconn=1</jvm-options>
<jvm-options>-Dosgi.Shell.telnet.ip=127.0.0.1</jvm-options>
<jvm-options>-Dfelix.fileinstall.dir=${com.Sun.aas.installRoot}/modules/autostart/</jvm-options>
<jvm-options>-Dfelix.fileinstall.poll=5000</jvm-options>
<jvm-options>-Dfelix.fileinstall.debug=1</jvm-options>
<jvm-options>-Dfelix.fileinstall.bundles.new.start=true</jvm-options>
<jvm-options>-Dorg.glassfish.web.rfc2109_cookie_names_enforced=false</jvm-options>
<jvm-options>-XX:NewRatio=2</jvm-options>
<jvm-options>-Xmx2048m</jvm-options>
</Java-config>
IntelliJの構成:
このアプリケーションでリモートデバッグを有効にしようとすると、次のエラーが表示されます。
Glassfish構成のこの行に、次のパラメーターdebug-enabled = "true"を追加します。例:
<Java-config debug-options="-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=9009" debug-enabled="true"
system-classpath="" native-library-path-prefix="D:\Project\lib\windows\64bit" classpath-suffix="">
この構成を使用していたglassfishドメインまたはサービスを開始および停止します。
ポートが既に別のプログラムで使用されている場合は、デバッガーポートを変更する必要があります。そうするために:
私は同じ問題を抱えていましたが、この解決策も私のためにトリックをしました:このホスト名を使用している場合、ホスト名「localhost」の代わりにIntellijデバッグ構成でIP 127.0.0.1を提供します。
私はあなたの問題が今までに解決されたことを望んでいます。そうでない場合は、これを試してください... server=y
アプリとIDEAの両方。 IDEAはおそらくserver=n
。また、(IDEA)クライアントには、ホスト名とポートの両方を含むアドレスが必要です(例:address=127.0.0.1:9009
。
<Java-config classpath-suffix="" debug-options="-agentlib:jdwp=transport=dt_socket,address=9009,server=y,suspend=n" Java-home="C:\Program Files\Java\jdk1.8.0_162" debug-enabled="true" system-classpath="">
または http:// localhost:4848/common/index.jsfでdebug-enabled = "true" server = y、suspend = nを設定します
CHMOD + xを設定する必要があります(* .shまたは* .batファイルに対して実行)。たとえば、私はmacOSを使用しています
cd /Users/donhuvy/Documents/tools/Apache-Tomcat-9.0.12/bin
Sudo chmod +x *.sh
次に、IntelliJ IDEA、およびApache Tomcatの実行またはデバッグが適切に行われます。
私にとって、問題はcatalina.shに実行権限がないことでした。 「Intellijでデバッガポートを開くことができません」というメッセージがIntellijに表示されましたが、直前のログに表示された「catalina.shを実行できませんでした」というエラーをマスクしました。
これは私にとってはうまくいきました-glassFishサーバーを使用していない場合でも問題が解決しない場合は、JIdeaを閉じてサーバーを停止します。これにより、ポートの接続が無効になります。次に、サーバーとJIdeaを起動します。これにより、ポートとの新しい接続が開始され、問題が解決します。
MAVEN_OPTSを設定します。動作するはずです!!
export MAVEN_OPTS = "-Xdebug -Xnoagent -Djava.compiler = NONE -Xrunjdwp:transport = dt_socket、address = 4000、server = y、suspend = n"
mvn spring-boot:run -Dserver.port = 8090
サービス/アプリケーションがすでに実行されている可能性があります。 [検索]に「サービス」と入力すると、サービスのリストが表示されます。停止してから再試行してください。
同じ問題がありました。URLからHTTPプロトコルを削除するだけです。それでおしまい。
私はそれがあなたのために働くことを望みます。
Telnetで接続してみてください。接続されている場合は、以下に表示されます。
$ telnet 10.238.136.165 9999 10.238.136.165を試行しています... 10.238.136.165に接続しています。エスケープ文字は「^]」です。接続は外部ホストによって閉じられました。
ポートが利用できない場合(他の誰かが既にポートに接続されているか、ポートが開いていないなど)、以下のように表示されます。
$ telnet 10.238.136.165 9999 10.238.136.165を試行しています... telnet:アドレス10.238.136.165に接続します:接続が拒否されましたtelnet:リモートホストに接続できません
だから、次のことを確認する必要があると思います。
アプリケーションはポートをリッスンするプロパティかどうか
または他の誰かが既にそれに接続しています
また、最初に$ telnet localhost 9999のようにそのm/c自体に接続してみてください
答えは非常に簡単です、私は最終的に完璧な解決策を得た問題に直面しました。 デバッグの作成次の構成でリモートデバッグを作成 最初にデバッグで実行します。ソケット5005を待機し、リモートデバッグで実行します。
サーバーがポート8090で稼働している間に、指定されたコマンドでSpring Bootアプリケーションを実行してポート6006でデバッグを有効にします。
mvn spring-boot:run -Drun.jvmArguments='-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=6006' -Dserver.port=8090
このエラーは、Tomcatがすでに実行されている場合に発生する可能性があります。そのため、Intellijに起動を要求した場合は、Tomcatがバックグラウンドで実行されていないことを確認してください(デフォルト)。
また、完全な出力ウィンドウでエラーを確認してください。より有用なエラーがこのエラーの前にあったかもしれないので(今の私の構成の場合のように)