Caused by: java.net.BindException: Cannot assign requested address: JVM_Bind非端口占用

本文记录了一次由于配置文件中错误IP引起的Java BindException问题的排查过程。当遇到'Cannot assign requested address'异常时,不仅检查了端口占用,还细致地排查了hosts文件,最终发现是他人IP误写入配置导致。解决方案是将配置中的IP改为'0.0.0.0',提醒读者在遇到问题时要冷静分析,逐步定位问题源头。
摘要由CSDN通过智能技术生成

Caused by: java.net.BindException: Cannot assign requested address: JVM_Bind

 at java.net.DualStackPlainSocketImpl.bind0(Native Method)

 at java.net.DualStackPlainSocketImpl.socketBind(DualStackPlainSocketImpl.java:106)

 at java.net.AbstractPlainSocketImpl.bind(AbstractPlainSocketImpl.java:387)

 at java.net.PlainSocketImpl.bind(PlainSocketImpl.java:190)

 at java.net.Socket.bind(Socket.java:644)


Cannot assign requested address翻译过来是:无法分配请求的地址。

所以排除端口占用的原因(也检查了确实端口没被占用) 。

那么检查C:\Windows\System32\drivers\etc目录下的hosts文件中关于localhost的IP配置,检查了也没有配置错误的IP。

网上普遍的方法没能解决我的问题,于是只能沉下心来debug看看到底是哪里有问题。

最后定位到抛异常的这行代码:socket.bind(LOCAL_ADDRESS);

这个LOCAL_ADDRESS的值是一个我没见过的IP,至少不是我的本地IP,

然后定位到这个LOCAL_ADDRESS的赋值是从application.yml文件中取key=ip的值。

最后查看码云的提交记录,询问同事后得知是他的本地IP,不小心提交到application.yml的配置里了.

解决:把配置改回来即可。改成:ip:0.0.0.0


遇事不盲目,一步一步找问题。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值