web-dev-qa-db-ja.com

EclipseのSpring Bootアプリケーション、ポートXXXXでリッスンするように構成されたTomcatコネクタが起動に失敗しました

Spring Frameworkを使用してAPI RESTを開発しています

最初に、同じ問題のためにアプリケーションを実行できませんでした。コンピューターのポート8080がビジーです。次に、この問題を解決する1つの代替方法は、application.propertiesフォルダーの下にsrc/main/resourcesファイルを作成することであることがわかりました。これが私が作成したものであり、ポート8090でリッスンするようにサーバーをセットアップしました。これは初めて機能しましたが、アプリケーションを2回実行しようとすると同じ例外が発生します。

Description:

The Tomcat connector configured to listen on port 8090 failed to start. The port may already be in use or the connector may be misconfigured.

Action:

Verify the connector's configuration, identify and stop any process that's listening on port 8090, or configure this application to listen on another port.

私の知る限り、このフレームワークはApache Tomcatの埋め込みインスタンスを使用して、すべてのアプリケーションをデプロイします。

私の推測では、アプリを2回実行しようとするとサーバーが再起動されないため、「ポートが既に使用されているか、コネクタが正しく構成されていない可能性があります」と出力されます

したがって、より具体的な質問は、Apache Tomcatの埋め込みインスタンスを手動またはプログラムで管理するにはどうすればよいでしょうか?

application.propertiesファイルのポートも2回変更しました。正常に動作しますが、これも初めてです。ご想像のとおり、アプリを実行するたびに同じことを行うことはできません。

32
Sandoval0992

コンソールで、ダイアログの一番上の右側を見ると、ブザーのような赤いボタンが見えるはずです。実行したばかりのスプリングブートアプリケーションを適切に停止するには、この特定の「赤色」ボタンを押して問題を解決します。お役に立てれば!

35
Edge
  1. ポートのプロセスID(PID)を見つけます(例:808

    Windowsの場合:

    netstat -ao | find "8080"
    

    Windows以外のプラットフォーム:

    lsof -i:8080
    
  2. 見つけたプロセスIDを強制終了します(例:20712)

    Windowsの場合:

    Taskkill /PID  20712 /F
    

    Windows以外のプラットフォーム:

    kill -9 20712   or kill 20712
    
52
sy456

このエラーを解決するもう1つの簡単な方法は、コンソールを右クリックし、[すべて終了/すべて切断]をクリックすることです。その後、アプリケーションを実行すると正常に動作するはずです。

23
DvixExtract

その理由は、アプリケーションを停止するのではなく、別の時間にアプリケーションを起動する前であるため、ポートがすでに使用されているということです。

再起動する前に、常にアプリケーションを停止する必要があります。そうしないと、ポートの競合の問題が発生します。

プラットフォームに応じて、Windowsで実行する場合はnetstat -anp | find "port number"を使用できます。Linuxで実行する場合はnetstat -ntpl | grep "port number"を使用できます。macの場合はlsof -n -iTCP:"port number"を使用します。

10
Amit Khandelwal

私が初めて実行したときにこの問題にすでに直面していますが、もう一度私が得た別のプロジェクトを実行したい:

The Tomcat connector configured to listen on port 8088 failed to start. The port may already be in use or the connector may be misconfigured.

Action:

Verify the connector's configuration, identify and stop any process that's listening on port 8088, or configure this application to listen on another port.

そして、最終的に私はこれの解決策を得ました、それは下のスクリーンショットで与えられます:

enter image description here

Consoleタブを右クリックして->を選択し、Terminate/Disconnect allおよびコードを実行してみてください。

:再度実行する前にサーバーを停止することを忘れないでください。

10
Tell Me How

プロセスを見つけて終了します。 Windowsでは、Control + Alt + Deleteを実行し、[プロセス]タブで[Java(TM)Platform SE Binary]プロセスを見つけます。例えば: - enter image description here

Ubuntuでは、「ps aux | grep Java」を使用してプロセスを見つけ、「kill -9 PID_NUMBER」を使用してプロセスを強制終了できます。

OR

Springブートアプリケーションを使用している場合は、application.propertiesに移動してこれを追加します。

server.port = 8081
9
Gene

アプリをhttpSで実行する場合は、次のプロパティの下に正しい値を入力してください。

server.ssl.key-store-password=
server.ssl.key-alias=

ここに間違った値を入力すると同じエラーが発生しました

3
Filip
  1. 使用中のポートを確認します:netstat -ntlp
  2. そのポートを強制終了します:kill -9 xxxx
2
alok

この状況を処理/回避するための2つのオプションがあります。

  1. アプリケーションを再実行する前に、前の接続を終了してください。

    • Open the console --> right click --> terminate all.
  2. 手順1でアクションの言及を実行するのを忘れた場合

    • アプリケーションで使用されているポートを把握すると、コンソールウィンドウにスタックトレースが表示されます。
    • Cmdでnetstat -aonコマンドを実行して、ポートに関連付けられたプロセスIDを把握する
    • そのプロセスを強制終了し、アプリケーションを再実行します。
1
Ashish Patel

Windowsの場合:

開始するには、[スタート]をクリックして[cmd]と入力し、コマンドプロンプトを開きます。コマンドウィンドウで、次のコマンドを入力します。

netstat -a -n -o

上記のコマンドでは、-oパラメーターはPIDをテーブルの最後に追加するものです。 Enterキーを押すと、次のように表示されます。

enter image description here

そのポートを使用しているプロセスの名前を確認するには、CTRL + SHIFT + ESCを押してタスクマネージャーに移動し、[プロセス]タブをクリックします。 Windows 10では、[詳細]タブをクリックする必要があります。

デフォルトでは、タスクマネージャーはプロセスIDを表示しないため、[表示]、[列の選択]の順にクリックする必要があります。

また、バックグラウンドで実行されているサービスを調べる必要があります。これを行うには、以下に示すように右クリックして開いているサービスを選択します。

enter image description here

それが役に立てば幸い :)

1
Devender Goyal

この問題は次の2つの方法で解決できます。

  1. 8080で実行中のアプリケーションを強制終了する
netstat -ao | find "8080"

Taskkill /PID 1342 /F
  1. application.propertiesファイルのスプリングサーバーポートを変更する

server.port = 8081

0
Sumit Jadiya