IntelliJ Idea Community Edition IDEを使用しており、コマンドラインでJettyでMaven WebAppを実行しようとしています。RedHatボックスを使用しています
私はこのコマンドを実行します:
mvn clean install -P deployJetty -Djetty.port=8083
そして、私はこのエラーを受け取ります:
Listening for transport dt_socket at address: 5005
Error: Exception thrown by the agent : Java.rmi.server.ExportException: Port already in use: 1099; nested exception is:
Java.net.BindException: Address already in use
面白いことに、IntelliJ Ideaを閉じると、1099ポートがリリースされます。 Ideaがこのポートを使用している理由と方法がわかりません。
何か案は ?ありがとうございました。
注:回避策として、Ideaを閉じ、Jettyを実行してからIdeaを開きます(そして、別のポートを選択するように強制すると思います)
Intellij Ideaは内部で1099ポートを使用しないと確信しています。 TomcatにこのPORTを使用しました。インストールしたアイデアプラグインがこのポートで実行されているかどうかを確認することをお勧めします。ほとんどのオペレーティングシステムは、そのポートで実行されているアプリケーション名を提供できます。
例:lsof -w -n -i tcp:808は、Linuxマシンで808で実行されているアプリケーションを提供します。
お役に立てれば。
ターミナルに移動してセッションを終了します
ps -aef | grep 1099
kill -9 PID
私のMacでは、「fsnotifier」と呼ばれるプロセスがポート1099を使用しています。これに関するgoogleは、それがIntelliJファイルシステムウォッチャーであることを示しています。 JMX用に別のポートを使用して解決しました。
/etc/hosts
ファイルにlocalhostが定義されており、一度だけ定義されていることを確認してください
localhost 127.0.0.1
それは、jmxポートを別のものに変更した後でも、port 1099 already in use
エラーを引き起こすintelliJハングのmavenプロセスを残していました。
私の場合、IDEAで起動したJBossインスタンスから切断され、サーバーは引き続き実行され、JMXの1099ポートを使用しました。
そのポートを使用してサーバープロセスを強制終了するか(Java大量のメモリを使用するプロセス)になるか、不要な場合に使用できるリモートデバッグ構成を作成します。サーバーを再起動するには、ローカルとリモートのデバッグ構成に同じデバッグポートを使用します。
Terminalで取り組むのは簡単だからです。ターミナルを開き、次のように入力します。
fuser 1099/tcp
プロセスが上記のポートを使用する場合、次のような出力が返されます。
1099/tcp: 2222
最後の列の値(2222)はプロセスID([〜#〜] pid [〜#〜])を参照しています。
[〜#〜] kill [〜#〜]次のように。
kill -9 2222
これでデバッグを開始できます。