This was caused by an IPv6 address being returned from java.net.NetworkInterface.getDefault(). I'm on a Macbook and was using wireless -- p2p0 (used for AirDrop) was returned as the default network interface but my p2p0 only has an IPv6 ether entry [found by running ipconfig].
Two solutions, both of which worked for me (I prefer the first because it works whether you are using a wired or wireless connection)
- Start the JVM with
-Djava.net.preferIPv4Stack=true. This causedjava.net.NetworkInterface.getDefault()to return my vboxnet0 network interface -- not sure what you'll get if you're not running a host-only VM. - Turn off wireless and use a wired connection
解决Java IPv6默认地址问题
本文介绍了一种常见的情况,即使用Macbook时,Java会返回IPv6地址作为默认网络接口,这可能导致网络连接问题。文章提供了两种解决方案:一是通过设置JVM参数`-Djava.net.preferIPv4Stack=true`强制使用IPv4;二是关闭无线网络并使用有线连接。
3741

被折叠的 条评论
为什么被折叠?



