已经在使用的地址:JVM_Bind java

有时,每当我重新启动应用程序,这是build立在Java的Struts的Mysql和Jboss 4.05版本我得到的错误作为地址已被使用:JVM_Bind

只有解决,我知道的是重新启动机器,再试一次,它会工作。 否则,有时我会按Ctrl-Alt-Del并停止所有与Java相关的进程,有时候这也是有效的。

但是确切的原因是什么?我们如何防止这个问题?

已经在使用的地址:JVM_Bind

意味着某些其他应用程序已经在您当前应用程序试图绑定的端口上进行侦听。

你需要做的是,无论是目前的应用程序的端口或更好的; 只要找出已经运行的应用程序并杀死它。

在linux上你可以通过使用find应用程序的pid,

netstat -tulpn 

在Windows中,这种情况发生在Eclipse崩溃而没有干净的closures时,它将使本地的Jetty或Tomcat服务器继续运行。 当你重新打开Eclipse,并尝试再次启动服务器,这将导致“地址已被使用:JVM_Bind”

您可以通过打开任务pipe理器并findjavaw.exe进程并结束它来解决此问题。

然后,您可以在Eclipse上重新启动服务器。

在这里输入图像说明

当服务器(我使用JBoss)的端口已经在使用时,我通常会遇到这个问题

普通嫌犯

  1. Apache Http Server =>如果在Windows中工作,closures服务。
  2. IIS =>停止使用ISS
  3. Skype =>是的,我有Skype连接到端口80

要更改JBoss 4.2.x绑定到的端口,请转到:

“C:\ jboss4.2.2 \服务器\ DEFAULT \部署\ jboss的-web.deployer \ server.xml中”

这里默认是服务器的实例在这里更改端口:

<连接器端口=“8080”地址=“$ {jboss.bind.address}”>

在上面的例子中,端口绑定到8080

MySql是否可能在与JBoss相同的端口上进行侦听?

是否有错误消息中给出的端口号 – 类似于Address already in use: JVM_Bind:8080

您可以更改JBoss server.xml中的端口来testing它。

关于如何防止它的快速回答是,在再次启动之前,您很可能需要停止JBoss。

您应该能够在控制台视图中调用“终止”button来closures服务器。

该错误意味着您正试图在已被另一个ServerSocket使用的端口上创build一个新的ServerSocket 。 因此,请尽量让您的应用程序closures您所知道的所有套接字和连接,并确保您的应用程序已完全终止。 同时检查你的程序是否启动了另一个程序。

.. \ tomcat \ conf \ server.xml中的端口8080的双重定义也可能导致:

 <Connector port="8080" enableLookups="false" redirectPort="8443" debug="0"/> <Connector port="8080" enableLookups="false" address="127.0.0.1" maxParameterCount="30000"/> 

请尝试以下JVM绑定exception的选项:

  1. 启动和停止服务器。 并检查服务器进程ID并杀死并停止服务器。
  2. 去控制面板 – >pipe理工具 – >服务 – >检查所有的服务器,并停止所有的服务器,然后启动你自己的服务器。
  3. 改变你使用的浏览器。 例如,如果您使用IE,请将其更改为Mozilla Firefox。

我也有这个问题。 对我来说,我无法启动/停止开火(它说停止了,但一切仍在运行)

 sudo /etc/init.d/openfire stop sudo /etc/init.d/openfire start 

另外,重新启动Apache也没有帮助

 sudo /etc/init.d/apache2 restart 

错误在里面:

 /opt/openfire/logs/stderror.log Error creating server listener on port 5269: Address already in use Error creating server listener on port 5222: Address already in use 

我解决这个问题的方法是,我不得不closurespipe理区域内的服务器。

我在Windows上也一样。 我的解决scheme是获取debugging想要连接到哪个端口。 (在IntelliJ红色的矩形已经给出的信息:“运行Tomcat的错误:无法打开debugging器端口(127.0.0.1:XXXXX):…已经在使用…”)比方说,XXXXX是端口号。 然后我在cmd窗口中search了问题和PID:

 netstat -ano | find "CLOSE_WAIT" | find ":XXXXX" 

我得到了PID号码作为结果行中的最后一个号码。 (让我们说YYYY)最后:

 TASKKILL /PID YYYY 

额外的信息:Winscp注销同时,可能是造成我的问题。 🙂

在Eclipse中,当在两个运行的tomcat服务上启用JMX时,最近发生了这种情况。 我错误地把每个服务器相同的端口。

简单地给每个jmx远程一个不同的端口

服务器1

 -Dcom.sun.management.jmxremote.port=9000 

服务器2

 -Dcom.sun.management.jmxremote.port=9001