在Eclipse中,我得到了这个错误:

run:
     [java] Error creating the server socket.
     [java] Oct 04, 2012 5:31:38 PM cascadas.ace.AceFactory bootstrap
     [java] SEVERE: Failed to create world : java.net.BindException: Address already in use: JVM_Bind
     [java] Java Result: -1
BUILD SUCCESSFUL
Total time: 10 seconds

我不知道为什么现在出现了,但几个小时前它运行得很好。我需要重新启动我的机器吗?我该怎么查到底呢?感谢您的建议和建议。


当前回答

是的,您有另一个进程绑定到相同的端口。

当我遇到JVM_BIND错误时,Windows Sysinternals中的TCPView(仅限Windows)是我最喜欢的应用程序。它显示了哪个进程正在侦听哪个端口。它还提供了一个方便的上下文菜单来终止进程或关闭妨碍进程的连接。

其他回答

在windows中

netstat -ano

将列出所有监听的协议、端口和进程。 使用

taskkill -pid "proces to kill" /f

关闭侦听该端口的进程。 如

 taskkill -pid 431 /f

端口已经被一些其他进程使用,@Diego Pino说你可以在unix上使用lsof来定位进程并杀死相应的进程,如果你在windows上使用netstat -ano来获得所有进程的pid和每个人获得的端口。搜索你的目标港口并杀死。

如果可能的话,重启你的机器就很简单了:)

(Windows)

要终止一个进程,首先需要找到进程Id (pid)

通过运行命令:

netstat -ano | findstr :yourPortNumber

你会得到你的进程Id (PID),现在要杀死相同的进程运行这个命令:

taskkill /pid yourid /f

您的端口在其他进程中一定很忙。因此,您可以在https://technet.microsoft.com/en-us/sysinternals/bb897437上下载TCPView并为使用的端口终止进程。

如果你不知道你的端口,双击没有启动的服务器,然后点击打开服务器属性页,然后点击左边栏的glassfish。你会在这里找到港口。

您需要关闭端口 如果您是Linux用户,请输入

fuser -k 8080/tcp