在maven項目中解決第三方jar包依賴的問題


在maven項目中,對於那些在maven倉庫中不存在的第三方jar,依賴解決通常有如下解決方法:

方法1:直接將jar包拷貝到項目指定目錄下,然后在pom文件中指定依賴類型為system,如:

1 <dependencies>
2     <dependency>
3         <groupId>xxx</groupId>
4         <artifactId>xxx</artifactId>
5         <version>6.0</version>
6         <scope>system</scope>
7         <systemPath>${project.basedir}/libs/xxx-1.0.jar</systemPath>
8     </dependency>
9 </dependencies>
View Code

請注意:scope為system的依賴,在打包時不會自動打包到最終jar包中的,必須在resources節點中明確指定需要一起package的資源:

1 <resources>
2     <resource>
3         <targetPath>lib/</targetPath>
4         <directory>lib/</directory>
5         <includes>
6             <include>**/my-jar.jar</include>
7         </includes>
8     </resource>
9 </resources>
View Code

這個方法在解決單個項目依賴是可以的。

但是,如果項目中存在多個模塊,且在多個模塊中都需要依賴指定的第三方jar包,那在不同的模塊中都進行這樣的配置有失妥當,jar包要來回拷貝多次。

 

方法2:新建一個maven模塊項目,專門使用這個項目來解決依賴第三方jar包的問題(前提:需要把依賴的第三方jar包install到本地倉庫)

例如:
(1)新建 xxx-3rd模塊,用於配置所要依賴的第三方jar包,配置依賴的方式跟處理單個項目依賴方式一樣,參考方法1。
(2)在其他需要依賴第三方jar包的模塊中引入對xxx-3rd模塊的依賴,這樣根據maven傳遞依賴的特性,就可以很好地解決在多個模塊中同時依賴第三方jar包的問題。

1 <dependencies>
2     <dependency>
3         <groupId>xxx</groupId>
4         <artifactId>xxx-3rd</artifactId>
5         <version>1.0.0</version>
6     </dependency>
7 </dependencies>
View Code

 

【 參考】

http://www.cnblogs.com/richard-jing/archive/2013/01/27/Maven_localjar.html


免責聲明!

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



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