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