Menu Close

idea和maven设置代理(Cannot resolve maven.aliyun.com)

1. 问题简述

我开发的环境是需要代理才能访问外网的,所以导致idea无法从阿里云下载最新的pom依赖。

2. 报错信息

2.1. 报错内容

Dependency 'org.springframework.boot:spring-boot-starter:' not found

或者是:

Cannot resolve maven.aliyun.com

2.2. 报错截图

3. 问题分析

因为计算机是通过代理上网的,下载依赖是通过maven实现了,那就要在maven中设置代理。

4. 问题解决

4.1. 找到Maven的配置文件

./conf/settings.xml

4.2. 增加代理配置

编辑 settings.xml 文件,在 <proxies></proxies> 标签中添加代理内容,示例如下:

    <proxy>
      <id>optional</id>
      <active>true</active>
      <protocol>http</protocol>
      <!--<username></username>
      <password></password>-->
      <host>172.16.69.7</host>
      <port>3128</port>
      <!--<nonProxyHosts>local.net|some.host.com</nonProxyHosts>-->
    </proxy>

其中:

  • id:代理的名称(随便设,XYZ也行)
  • active:表示该代理是否激活
  • protocol:代理协议,这个不用改
  • username:当代理需要认证时的用户名
  • password:当代理需要认证时的密码
  • host:代理的IP地址
  • port:代理的端口号
  • nonProxyHost:指定不需要使用代理的主机,可不设置。如果有多个,用 | 分隔

备注:如果代理不需要用户认证,username 和 password 两个节点可注释掉.

4.3. 检查IDEA的Maven配置

在IDEA中配置的maven参数一定要是上面修改的文件,否则仍然无法下载依赖。

4.4. 正常的下载pom依赖

5. 问题总结

如果你只是单纯的配置了idea的代理,只能解决springboot等项目的创建,当你新添加了pom依赖后,依旧无法从阿里云或者中央仓库去下载对应的jar包,说白了就是无法通过Maven访问到。

我自己在分析时就没有去考虑问题的本质,无法下载依赖时,没有想是哪个程序去下载依赖,总是觉得是idea的 HTTP_PROXY 配置错误。

6. 关联或参考文档

springboot报错-Initialization failed for... : http://dba.qishuo.xin/?p=1328