eclipse报错:The Network Adapter could not establish the connection 或者 Communication failure

十分感谢https://blog.****.net/makang110/article/details/81185270的作者。

链接的作者说原因在于eclipse有时在联网时会将ipv4转换为ipv6使用导致出错(我暂未考证)

笔者手中的项目在运行中需要与数据库建立很多次链接,总是在运行到某个时候出现The Network Adapter could not establish the connection或者Communication failure这样的错误,起初以为超出了数据库的连接数限制,检查结果证明并不是。之后一度以为是代码有问题,于是各种调试发现确实存在建立了链接不释放的问题,改完代码再运行,问题依然存在(误打误撞却优化了一下代码)。

百度一番,大家给出的解决办法有很多是关于修改数据库或者防火墙配置的,但是跟我的情况并不一样。实在是没有办法,就在虚拟机里装个linux系统换个环境试试(之前是win10),发现这样的错误居然不出现了。想起来在linux下用的是IDEA运行的,于是也去win下用IDEA运行试试,此错误出现的概率大大减小,运行几回只出现一次。

就在我准备重装系统之前,尝试了https://blog.****.net/makang110/article/details/81185270的办法,只动了一个参数(看来不是操作系统原因)。

打开菜单windows–>preferences,在引用java时,添加参数-Djava.net.preferIPv4Stack=true 即可解决问题。

eclipse报错:The Network Adapter could not establish the connection 或者 Communication failure

 因为这个错误在Eclipse和IDEA都出现过,所以应该不是某个IDE的问题,而且从字面意思看VM arguments,应该是“虚拟机参数”,也就是说是给JDK设定了一个值,而不是eclipse切换网络的锅,有懂的小伙伴可以评论留言。