没问题的项目突然报java.net.BindException: Address already in use: bind

博客详细描述了在项目中遇到WebSocket端口被占用的问题,作者尝试了多种方法如cleanobject、重启IDE等都无法解决问题,最终通过同事的建议检查并关闭了后台的Java进程,成功解决了端口冲突。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

项目里面用到了websocket,确定端口号没有其他服务在使用,一直都跑的好好的,突然抽风报java.net.BindException: Address already in use: bind,说是端口被占用,打断点看到初始化websocket的时候抛出异常,端口被占用。

疯狂clean object,重开eclipse,外加百度,都没有用。最后问了同事,让我看看是不是后台进程没有杀掉,一看还真是有两个java se进程。。。。简直有毒,关掉进程后重跑就没问题了,有毒!!!!

### 解决 Goland 中 Java 程序运行时遇到的 `java.net.BindException: Address already in use` 问题 当在 Goland 运行 Java 应用程序并遇到 `java.net.BindException: Address already in use` 错误时,这通常意味着应用程序尝试绑定到已经被其他进程使用的网络端口[^1]。 #### 查找占用端口的进程 为了释放被占用的端口,首先需要识别哪个进程正在使用目标端口。可以通过命令提示符执行如下命令来查找: ```cmd netstat -ano | findstr ":<port>" ``` 其中 `<port>` 是要查询的具体端口号。此命令会返回一系列信息,其中包括监听该端口的服务对应的 PID(进程 ID)。通过这个 PID 可以进一步定位具体的应用程序实例[^3]。 #### 结束占用端口的进程 一旦获得了占用特定端口的进程 PID 后,在 Windows 的任务管理器中找到对应 PID 的条目,并选择结束该进程的操作。这样就可以腾出之前被占有的端口资源供新的 Java 应用连接使用了。 #### 修改应用配置文件中的端口号设置 如果频繁遭遇此类冲突情况,则建议考虑调整项目本身的配置参数,比如更改默认启动服务所依赖的 TCP/UDP 端口数值,从而避开已知容易发生碰撞的范围。对于 Spring Boot 类型的应用来说,可以在 application.properties 或者 application.yml 文件里指定 server.port 属性值为未被占用的一个有效整数[^2]。 ```properties server.port=8090 ``` 或者如果是 XML 配置形式的话则可能是这样的写法: ```xml <property name="serverPort" value="8090"/> ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值