maven項目引用外部jar


問題描述:

       有一個java maven web項目,需要引入一個第三方包gdal.jar,但是這個包是自己打包的,在maven中央庫里面找不到該包,因此我采用傳統的方式,將這個包拷貝到:項目名稱\src\main\webapp\WEB-INF\lib的目錄下,然后通過config build path將該gdal.jar包引入到項目工程中。對於傳統java web項目,這么做當然沒有問題,但是對於maven項目,項目打包(mvn install)時就會報錯,在項目調試時(debug on server)也會出現文件發布不全的問題:tomcat的webapp目錄下有該項目,但是里面文件不全,通過web訪問時就會404錯誤。

問題解決:

      maven項目的jar包都是通過maven機制進行管理的,自己通過build path將jar引進去,寫代碼時沒問題,但是調試或者發布就會出現問題,解決辦法就是將該包也是利用maven的方式引入項目中,解決方式有兩種

      1)將gdal.jar包上傳到公司的maven私服上,然后配置路徑

      2)如果沒有maven私服,可以直接通過文件方式引入該jar包,在pom.xml中添加該jar包的引用      

<dependency>  
    <groupId>gdal</groupId>  
    <artifactId>gdal</artifactId>  
    <version>1.0.0</version>  
    <scope>system</scope>  
    <systemPath>${project.basedir}/src/main/webapp/WEB-INF/lib/gdal.jar</systemPath>  
</dependency>  

其中project.basedir為maven內置屬性,共有6類屬性:

內置屬性(Maven預定義,用戶可以直接使用)

${basedir}表示項目根目錄,即包含pom.xml文件的目錄;

${version}表示項目版本;

${project.basedir}同${basedir};

${project.baseUri}表示項目文件地址;

${maven.build.timestamp}表示項目構件開始時間;

${maven.build.timestamp.format}表示屬性${maven.build.timestamp}的展示格式,默認值為yyyyMMdd-HHmm,可自定義其格式,其類型可參考java.text.SimpleDateFormat。

 

 

本文參考

http://liugang594.iteye.com/blog/1677712

http://blog.csdn.net/wangjunjun2008/article/details/17761355


免責聲明!

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



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