在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版本。 希望能对别人有所帮助。

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

$ lsof:[port]

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

编辑/etc/sysctl.conf

将此添加到文件中

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

然后让它生效

$ sudo sysctl -p /etc/sysctl.conf

或者重启

您在同一端口上运行另一个进程。

你可以尝试杀死一个运行在你的任务管理器中的java.exe服务- ps确保你没有杀死eclipse,因为它也被列为java.exe。如果其他方法都不起作用,重新启动机器无论如何都会修复它。看起来你没有关闭之前测试中的套接字。希望这能有所帮助。

当另一个进程已经在指定端口(8080)上运行时,就会出现这个BindException异常。

您可以使用以下方法中的任何一种。

修改服务器端口号:如果使用Tomcat服务器和IntelliJ IDE,可以通过配置Tomcat服务器来配置服务器端口号

or

进入“tomcat>conf”文件夹 编辑server.xml 搜索“连接器端口” 将“8080”替换为端口号 重启tomcat服务器。

终止该端口中正在运行的现有进程并启动服务器。

对于Linux / Mac Sudo kill -9 $(Sudo lsof -t:8080) 对于Windows Netstat -ano | findstr:8080 taskkill /PID typeyourPIDhere /F 注意:(/F强制终止进程)

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

fuser -k 8080/tcp