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がすでに別のアプリケーションで使用されていることを示しています。
修正するには
-
ポート8080を使用しているプログラムを見つけて、強制終了します。 このLinux – Who is using port 8080を参照してください
-
別のポートでJettyを起動します:
mvn -Djetty.port=8888 jetty:run