在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

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


当前回答

在我的例子中,Tomcat在后台运行。我在使用Eclipse时将其安装为外部servlet。 在Intellij中使用Spring Boot,它有自己的服务器,但不能在已经被占用的情况下启动。 在我的例子中,Tomcat自动启动,我打开我的操作系统,这就是为什么我需要手动关闭他:

$ sudo service tomcat stop

当然,“tomcat”取决于您使用的tomcat版本。 希望能对别人有所帮助。

其他回答

在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

或者重启

在Windows CMD行中,输入以下命令找出绑定端口上连接的进程ID:

C:> netstat -a -o

显示所有连接

-o show进程标识符

然后终止该过程。

对于那些正在寻找最简单的答案的人(因为这是我们通常错过的),只需停止您正在运行的项目并重新开始。 大多数情况下,我们所做的是忘记停止我们之前运行的项目,当我们重新运行项目时,它会显示这样的问题。

我还附上了一张照片,让它更清晰(我使用“Spring工具套件”)。 所以你需要做的是点击最右边的按钮,如果你想重新启动同一个项目,或者首先点击右边第二个按钮来停止你的项目,然后点击最左边的按钮来运行你的项目。我希望这将解决少数新程序员的问题。:)

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

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