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的配置文件
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