【CI/CD】Jenkins找不到本地依賴包構建失敗


問題

Jenkins用mvn編譯失敗,但是在Jenkins所在機器上手動編譯成功。

報錯信息如下:

[ERROR] Failed to execute goal on project ksports-common: Could not resolve dependencies for project com.izkml:ksports-common:jar:1.0.0-SNAPSHOT: Failure to find com.izkml.mlyun.sms:mlyun-sms-sdk:jar:1.0-SNAPSHOT in http://nexus.izkml.com:55676/content/groups/public/ was cached in the local repository, resolution will not be reattempted until the update interval of nexus has elapsed or updates are forced -> [Help 1]

 

 

Jenkins中該項目的編譯命令如下

 

 

 

 

分析

1、從報錯信息來看,項目的依賴包在公司的遠程倉庫找不到所以報錯。(咨詢了研發,目前他們不打算維護遠程倉庫,坑!但是他提供了其本地的repository包,我的路徑如下圖)

 

 

2、在本地已有依賴包的情況下,使用相同命令(mvn clean install -Dmaven.test.skip=true),在Jenkins所在機器上手動編譯相同pom成功;

因此初步分析,本地編譯時系統能使用本地倉庫,但是Jenkins卻不使用本地倉庫(原因我現在也不清楚),在研發改變注意將公司遠程倉庫維護好前,只能想辦法使得Jenkins在本地倉庫找。

 

解決

在Jenkins項目配置中用-Dmaven.repo.local,指定本地倉庫的路徑這樣編譯的時候,如果maven在遠程中央倉庫找不到指定的jar包會去本地倉庫找(本地倉庫的路徑默認是這個,具體需根據Jenkins所在機器存放的位置修改)

clean package -Dmaven.repo.local=C:\Users\zkml-user0812\.m2\repository -Dmaven.test.skip=true

 

 

重新編譯,成功!

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM