在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

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


当前回答

重新启动电脑一次,我想它会工作。它开始在我身上起作用。还有一件事可以做,进入任务管理器并结束该过程。

其他回答

是的,正如Guido Simone所说,这是因为另一个进程侦听相同的端口。如果你使用的是Ubuntu,你可以简单地杀死这个进程 Sudo kill $(Sudo lsof -t:[端口号])

sudo kill $(sudo lsof -t:8080)

但有一次它对我不起作用。 我下了命令

$ lsof -i:[port] 

它什么也没有显示。

我使用命令检查了我的docker容器 Docker ps -a,但他们都死了。所有集装箱都停了 (但我记得,我停了一个集装箱,几分钟前使用的是同一个港口。)为了确保docker不是原因,我使用命令sudo service docker stop停止整个docker进程,然后再试一次。 令人惊讶的是eclipse当时并没有显示错误。它完美地运行了我的程序。

希望我的经验能帮助到一些人。

你可以关闭所有的Java进程,然后重新启动你的应用程序:

taskkill /F /IM java.exe

再次启动应用程序…

I faced similar issue in Eclipse when two consoles were opened when I started the Server program first and then the Client program. I used to stop the program in the single console thinking that it had closed the server, but it had only closed the client and not the server. I found running Java processes in my Task manager. This problem was solved by closing both Server and Client programs from their individual consoles(Eclipse shows console of latest active program). So when I started the Server program again, the port was again open to be captured.

在Mac:

杀进程 Terminal: kill <pid>

找到pid: 终端:lsof -i:<端口>

来自Diego Pino的回答

(1)检查端口是否被使用,杀死该进程

$ lsof:[port]

(2)另一个原因是端口被ipv6使用,解决方案:

编辑/etc/sysctl.conf

将此添加到文件中

网络上。所有ipv6。在ipv6 = 1中

然后让它生效

$ sudo sysctl -p /etc/sysctl.conf

或者重启