我有初始化正常的ServerSocket . 在一些客户端连接或一些时间延迟后(我不知道原因是什么)和 server terminationserver.close(); 我试图再次启动服务器并且它抛出以下execption:

java.net.BindException: Address already in use: JVM_Bind
at java.net.DualStackPlainSocketImpl.bind0(Native Method)
at java.net.DualStackPlainSocketImpl.socketBind(Unknown Source)
at java.net.AbstractPlainSocketImpl.bind(Unknown Source)
at java.net.PlainSocketImpl.bind(Unknown Source)
at java.net.ServerSocket.bind(Unknown Source)
at java.net.ServerSocket.bind(Unknown Source)
at network.Server.<init>(Server.java:24)
at network.Server.getServerInstance(Server.java:47)
at gui.MainScreen.<init>(MainScreen.java:66)
at gui.MainScreen.main(MainScreen.java:54)

我已经证实:
服务器正确终止 .
没有其他ServerSocket正在使用此端口

我检查了端口正在监听的cmd,即使服务器已关闭,也是如此 .

通过相应的PID,使用此端口的应用程序是Eclipse本身 .
重新启动Eclipse后,我可以毫无问题地启动服务器 .

我可以为Eclipse发布端口做些什么?