Jetty - java.net.BindException:すでに使用中のアドレス

Jetty – java.net.BindException:アドレスはすでに使用されています

Maven JettyプラグインでJava webappを起動します。

$ mvn jetty:run

1. 問題

ただし、次のエラーメッセージが表示されます。

[WARNING] FAILED org.eclipse.jetty.maven.plugin.JettyServer@1f53481b:
java.net.BindException: Address already in use
    at sun.nio.ch.Net.bind0(Native Method)
    at sun.nio.ch.Net.bind(Net.java:433)
    at sun.nio.ch.Net.bind(Net.java:425)
    at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:223)
    at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:74)
    at org.eclipse.jetty.server.ServerConnector.open(ServerConnector.java:321)
    at org.eclipse.jetty.server.AbstractNetworkConnector.doStart(AbstractNetworkConnector.java:80)
//...

2. 溶液

デフォルトでは、maven-jetty-pluginはポート8080でJettyを起動します。上記のエラーは、ポート8080がすでに別のアプリケーションで使用されていることを示しています。

修正するには

  1. ポート8080を使用しているプログラムを見つけて、強制終了します。 このLinux – Who is using port 8080を参照してください

  2. 別のポートでJettyを起動します:mvn -Djetty.port=8888 jetty:run