jenkins構建maven項目:找不到本地依賴包的解決辦法


轉載:https://www.cnblogs.com/yy-cola/p/9664598.html

前言:

         我們在構建maven項目時,常常會用到一些特殊的jar包(不能在中央倉庫中直接下載到本地倉庫如微軟不允許以maven的方式直接下載com.microsoft.sqlserver:sqljdbc4:jar:4.0等jar包),我們只能手動下載這部分jar包導入到maven本地倉庫去引用。。

 

一個項目之前都能正常構建部署,今天開發改了pom文件,修改了一個本地jar包的引用方式,導致jenkins構建失敗,再此記錄

修改前的pom文件相關部分:

修改后的pom文件相關部分:

  • 第一種引用方式jenkins會直接根據pom文件里配置的路徑去項目文件夾下找到指定的jar包進行編譯
  • 第二種方式,jenkins會默認去maven的遠程倉庫找依賴包,但是遠程倉庫是沒有這個包的,因此會報錯。如圖:

 

解決方案:①先命令行安裝jar包到maven本地倉庫:

 
         
將jar包存放在某一目錄下,例如:c:/db2jcc.jar(Dfile)
DgroupId    DartifactId   Dversion   Dpackaging :前三個如pom文件,最后一個是最后安裝到倉庫的jar包名
install-file -Dfile=c:/db2jcc.jar -DgroupId=db2 -DartifactId=db2jcc -Dversion=1.0  -Dpackaging=db2jcc-1.0.jar

②查看maven的本地倉庫會找到被安裝成功的jar包

 

 ③此時在jenkins項目配置中做如下圖配置,意思是在這里使用-Dmaven.repo.local,指定本地倉庫的路徑,

這樣編譯的時候,如果maven在遠程中央倉庫找不到指定的jar包會去本地倉庫找(本地倉庫的路徑默認是這個,但開發存放jar包的地址可能不是這個,需要找開發確認)

clean package -Dmaven.repo.local=C:\Users\Administrator\.m2\repository

最近遇到一個新的知識點,這個地方其實就是為maven打包做一些配置的,還可以跳過測試:

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


免責聲明!

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



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