Jenkins 使用maven构建工程时在远程的仓库找不到已上传的包

[ERROR] Failed to execute goal onproject gipmgt: Could not resolve dependencies for project com.XXXX.dgip:gipmgt:war:0.1.20180518:Failure to find com.XXXX.dgip:ac-dgip-mgt-webapp:war:0.1.20180518 in http://XXXXX/repository/internalwas cached in the local repository, resolution will not be reattempted untilthe update interval of archiva has elapsed or updates are forced -> [Help 1][ERROR] [ERROR] To see the full stack trace of the errors, re-run Maven withthe -e switch.

从上面的信息可以看出是我们本地库存在不完整的包导致上传到在此构建的时,优先加载本地缓存中的不完整包是构建失败。

问题分析:

Jenkins使用的maven与你上传的远程仓库不一致,导致你在第一次构建是没有找到需要的包,当你发现使用的不是一个远程仓库时,将需要的包上传到Jenkins中maven使用的仓库中,但是你maven工程中的pom中对应此包的坐标没有改变,所以即使你上传到Jenkins使用的仓库中了此时构建依然会找原来构建不成功时那个不完整的包。

解决办法:

上传是重新修改一下包的坐标,之后修改一下你自动构建的maven工作中的pom,这样就可以了,注意顺序不要弄错,一定是先上传包,在自动构建。

代了解问题:

至于为什么maven下载包第一次失败了就不在重新在远程仓库中找包更新本地缓存库,可能是考虑到性能问题或者其他的机制或者是我的maven  settings.xml配置上需要修改什么,代研究。


猜你喜欢

转载自blog.csdn.net/baidu_36342103/article/details/80415918