Linux下IntelliJ IDEA 2017.3代理认证致Artifactory/Nexus访问失败
解决IntelliJ IDEA 2017.3中Maven仓库导入/远程仓库测试的407代理认证问题
我之前碰到过和你完全一样的情况——全局代理、IDE代理、Maven配置都弄好了,项目和插件列表能正常联网,但就是用Project Structure > Libraries > + > from Maven或者测试远程仓库时返回407错误。这是因为IntelliJ的Jar Repository功能模块(就是负责这部分操作的组件)并没有复用你已经配置的代理信息,它需要单独通过JVM参数来设置代理认证。
下面是具体的解决步骤:
- 打开IntelliJ的
Help菜单,选择Edit Custom VM Options...。如果系统提示不存在这个文件,直接确认创建新文件即可。 - 在打开的
idea.vmoptions(64位系统会是idea64.vmoptions)文件末尾,添加以下JVM代理参数,替换成你自己的代理信息:
注意:即使你的代理是HTTP协议,也必须配置HTTPS的代理参数,因为绝大多数Maven仓库都是HTTPS地址。-Dhttp.proxyHost=your-proxy-host -Dhttp.proxyPort=your-proxy-port -Dhttp.proxyUser=your-proxy-username -Dhttp.proxyPassword=your-proxy-password -Dhttps.proxyHost=your-proxy-host -Dhttps.proxyPort=your-proxy-port -Dhttps.proxyUser=your-proxy-username -Dhttps.proxyPassword=your-proxy-password # 如果有不需要走代理的内网地址,添加下面这行,用|分隔多个地址 -Dhttp.nonProxyHosts=localhost|127.0.0.1|*.your-internal-domain.com - 保存文件后,完全重启IntelliJ IDEA(必须重启才能让JVM参数生效)。
重启完成后,再去测试Remote Jar Repositories的URL,或者尝试从Maven导入库,应该就能正常获取资源,不会再出现407认证错误了。
补充说明
这个问题在IntelliJ 2017.x版本里比较常见,因为当时的Jar Repository模块是基于独立的HTTP客户端实现的,没有和IDE全局代理、Maven代理配置共享认证信息。通过JVM参数直接给整个IDE进程传递代理认证,就能覆盖这个模块的网络请求需求。
内容的提问来源于stack exchange,提问作者Cedric Buron
相关产品推荐
相关产品推荐

