【问题标题】:Maven - java.net.BindException: Address already in use: JVM_Bind <null>:8080Maven - java.net.BindException:地址已在使用中:JVM_Bind <null>:8080
【发布时间】:2017-11-20 09:54:29
【问题描述】:

我在运行这个 Maven 命令时遇到了这个错误

mvn verify tomcat7:run-war

我的 pom 使用“tomcat maven 插件”和“surefire 插件”,两者都可以正常工作,例如,如果我提示 mvn verify 甚至 mvn tomcat7:run-war 我把工作做好了。

【问题讨论】:

  • 您可能有一个旧实例仍在运行。
  • 我认为它已经关闭但没有按时关闭。这是验证阶段调用的最后一行:停止 ProtocolHandler ["http-bio-8080"] 然后启动 tomcat7:run-war 的调用[信息] >>> tomcat7-maven-plugin:2.2:run-war (default-cli) > 包
  • 肯定还有其他东西。如果是 Java,jps 会帮你找到。

标签: maven


【解决方案1】:

java.net.BindException:地址已在使用中:JVM_Bind :8080

表示另一个应用程序正在侦听端口 8080。

您可以通过 lsof 命令检查哪个进程正在使用该端口,例如须藤 lsof -i:8080。然后停止或杀死它。

如果无法帮助找到运行在同一端口上的应用程序,则常见的错误是 Tomcat 配置错误。

例如,默认情况下,Tomcat 在端口 8005 上侦听 SHUTDOWN 命令,如果您设置另一个连接器在同一端口上侦听,则会出现端口冲突。

所以请仔细检查 server.xml 这些端口是否不同:

<Server port="8005" shutdown="SHUTDOWN">
    <Connector port="8983" protocol="HTTP/1.1"

【讨论】:

  • Dahar,非常感谢您的回答...我查看了此文件'server.xml'并尝试了您所说的但没有任何改变...我可以说端口已关闭之前是因为我测试了在浏览器上的访问权限,之后它停止工作所以它被关闭了。
猜你喜欢
  • 2014-11-02
  • 2015-10-30
  • 1970-01-01
  • 1970-01-01
  • 2018-03-12
  • 2012-04-14
  • 1970-01-01
  • 2013-09-08
  • 2012-09-26
相关资源
最近更新 更多