问题:
这两天jenksins构建一直卡在Downloading maven-metadata.xml
从获取路径看,这些依赖包是需要从本地maven仓库获取,但是却跑去私服拿,私服肯定没有本地仓库的文件,所以获取不到,日志显示就一直在重试中,一直卡在Downloadin。
解决:
经过排查,是由于快照更新策略引起,快照更新策略默认是每日更新一次(远程到本地),但远程私服并没相关构件,导致一直加载中。
解决方案:
1、直接本地读取快件,两种方式
(1)更改快照更新策略,直接修改pom.xml文件,默认<updatePolicy>daily</updatePolicy>
<repositories>
<repository>
<id>nexus</id>
<name>nexus</name>
<url>
http://192.168.1.111:8082/nexus/content/groups/public/</url >
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
<updatePolicy>never</updatePolicy>
<checksumPolicy>warn</checksumPolicy>
</snapshots>
</repository>
</repositories>
(2)jenkins构件mvn目标增加-o参数,即离线执行,直接本地读取所有构件,如:clean install -o -Dmaven.test.skip=true
2、deploy相关jar包到远程仓库,更新快照时,maven会根据时间戳确定是否更新相关本地快件--推荐
3、构建项目时,先构建其上级项目(快照版本),就能确保不会从远程仓库更新相应快件--不推荐
更多生产运维经验分享:请访问http://www.ywadmin.com