MAVEN 編譯打包測試 指定本地jar

maven對於互聯網開發,進行版本管理有着不可或缺的作用;
而經常開發的程序猿直接聯調或者依賴未上線或deploy的版本,需要在本地編譯打包通過,如果pom文件依賴了maven庫裏的,則會出現衝突;
那麼怎樣進行本地jar依賴打包編譯呢?
提供3種方式:
第一種方式:更改pom文件:
將原來的pom依賴,更改爲新的依賴,如下面代碼,加systemPath和scope指定你文件的位置

<!-- <dependency>
<groupId>com.xiaonei.xce</groupId>
<artifactId>oce-adapter</artifactId>
<version>1.1-SNAPSHOT</version>
</dependency> -->
<dependency>
<groupId>com.xiaonei.xce</groupId>
<artifactId>oce-adapter</artifactId>
<version>1.1-SNAPSHOT</version>
<systemPath>/home/penuel/renren/other-jar/oce-adapter-1.1-SNAPSHOT.jar
</systemPath>
<scope>system</scope>
</dependency>

注意:這樣加依賴有2點需要注意:
1:如果你本身依賴的oce-adapter依賴了其他jar,而這些間接依賴的jar在你自己項目裏還用到了,則需要在pom里加這些間接依賴,因爲新改的這種依賴方式,只會添加一個jar進來;
2:這樣添加之後,編譯是可以通過的,但是打包還會會從本地maven庫裏取相應的jar(如果你本地庫裏沒有,則不會打包到工程裏),而不是把你配置的jar文件打包進去,所以需要打包完成後將lib下jar替換掉;

第二種方式:直接替換本地maven庫裏jar文件:
用下面命令:

mvn install:install-file

-DgroupId=com.xiaonei.xce-DartifactId=oce-adapter
-Dversion=1.1-SNAPSHOT
-Dfile=/home/penuel/renren/other-jar/oce-adapter-1.1-SNAPSHOT.jar
-Dpackaging=jar \-DgeneratePom=true

這樣本地庫裏就是你要測試的這個jar了,打包編譯兩不誤;記得備份之前的版本,說不定有用。(如果換不了,記得把之前的mavn庫中該jar文件夾刪掉,則執行命令即可)

第三種方式:取消pom依賴,直接在buildpath裏面添加jar路徑;或者在eclipse裏面build path的add libraires,然後進行編譯,打包也和第一種方式一樣;

最後,如果測試過,包deploy了,記得mvn -U 或者改回pom文件。
發佈了21 篇原創文章 · 獲贊 3 · 訪問量 8萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章