修复 JDK8 导致无故走 IPv6 的解决方案.md

使用 JAVA8 运行环境可能会导致某些网络下 JAVA 应用强制走 IPv6 通道,导致无法正常访问网络。 例如 JAVA 项目构建工具 maven ,在配置好国内仓库镜像的时候,明明可以通过网页访问 web 页面,并下载相应的 JAR 包; 但是,maven 却总是连接超时,无法下载项目所需的 JAR 包。

如果你碰到上面的情况,那么继续往下看。

关键字:

JAVA 应用的一个启动参数

-Djava.net.preferIPv4Stack=true      // 优先走IPv4 通道

解决方案:

  1. 只针对某一个应用
  • 自己写的程序可以这样写
System.setProperty("java.net.preferIPv4Stack" , "true");
  • 在启动有 shell 或者 bat 脚本的应用中可以将参数加入其中即可,win 下一般快捷图标右击会有启动参数设置;
  1. 在系统或者用户级去解决问题
  • 图形化方式 打开 JAVA 管理面板

在图中红色标注的地方填入如上参数即可。

  • 环境变量方式
    1. 针对 application
JAVAWS_VM_ARGS =-Djava.net.preferIPv4Stack=true
  1. 针对 applet
_JPI_VM_OPTIONS =-Djava.net.preferIPv4Stack=true

这个问题在工作网络中出现的可能性比较大,我自己一开始出现这个问题一直是用手机开热点去拉去maven下的依赖包,一直是认为网络不通,就没考虑其他原因。直到一天有个同事用 JRE6 下的 maven ,同样的 mirror 他却可以拉去下来 jar 包。这便使我开始考虑起来是不是 JRE8 的原因,强迫走了 IPv6。经过测试后果然如此。 仅此记下来帮助可能会被此困扰的朋友。

转载于:https://my.oschina.net/Wallen/blog/899218

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值