近日 使用IDEA从Git导入项目 遇到POM 中的依赖jar无法导入的问题,特此记录解决方式。
1. 问题现象
- 检查Maven的Settings.xml文件,仓库地址等配置没有问题。
- IDEA中的Maven配置都正常指向本地仓库 Settings.xml。
- POM中XML文件中仓库地址无问题。
- IDEA导入另外的项目也正常导入并引擎依赖。
2. 问题解决
经检查,有些无法导入的依赖jar是已经在本地仓库中存在了,但是无法导入。解决如下:
修改POM文件中的仓库配置,添加参数 <updatePolicy>always</updatePolicy>
修改后改为:
<repositories>
<repository>
<id>private repository</id>
<url>http://xxx.xxx.xxx.xxx/nexus/content/groups/public/</url>
<snapshots>
<enabled>true</enabled>
<updatePolicy>always</updatePolicy>
</snapshots>
<releases>
<enabled>true</enabled>
<updatePolicy>always</updatePolicy>
</releases>
<layout>default</layout>
</repository>
</repositories>
无论是snapshots还是releases都添加。然后重新import pom即可。
3. 问题分析
updatePolicy有四个值:always(实时更新) ,daily(每天更新),interval:xxx(隔xxx分钟更新一次),never(从不更新)。默认为daily,每日更新。
install操作时,snapshot版本的更新策略就取决于updatePolicy
协同工作时,其他人告诉我们,他们的snapshot版本发生了变化。我们想及时更新时,可以mvn clean install -U强制更新,或者删除对应版本的jar包都可以完成新版本jar包的下载。