maven項(xiàng)目引用外部jar包的方法
問題描述:
有一個(gè)java maven web項(xiàng)目,需要引入一個(gè)第三方包gdal.jar,但是這個(gè)包是自己打包的,在maven中央庫里面找不到該包,因此我采用傳統(tǒng)的方式,將這個(gè)包拷貝到:項(xiàng)目名稱\src\main\webapp\WEB-INF\lib的目錄下,然后通過config build path將該gdal.jar包引入到項(xiàng)目工程中。對于傳統(tǒng)java web項(xiàng)目,這么做當(dāng)然沒有問題,但是對于maven項(xiàng)目,項(xiàng)目打包(mvn install)時(shí)就會(huì)報(bào)錯(cuò),在項(xiàng)目調(diào)試時(shí)(debug on server)也會(huì)出現(xiàn)文件發(fā)布不全的問題:tomcat的webapp目錄下有該項(xiàng)目,但是里面文件不全,通過web訪問時(shí)就會(huì)404錯(cuò)誤。
問題解決:
maven項(xiàng)目的jar包都是通過maven機(jī)制進(jìn)行管理的,自己通過build path將jar引進(jìn)去,寫代碼時(shí)沒問題,但是調(diào)試或者發(fā)布就會(huì)出現(xiàn)問題,解決辦法就是將該包也是利用maven的方式引入項(xiàng)目中,解決方式有兩種:
將gdal.jar包上傳到公司的maven私服上,然后配置路徑
如果沒有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內(nèi)置屬性,共有6類屬性:
內(nèi)置屬性(Maven預(yù)定義,用戶可以直接使用)
${basedir}表示項(xiàng)目根目錄,即包含pom.xml文件的目錄;
${version}表示項(xiàng)目版本;
${project.basedir}同${basedir};
${project.baseUri}表示項(xiàng)目文件地址;
${maven.build.timestamp}表示項(xiàng)目構(gòu)件開始時(shí)間;
${maven.build.timestamp.format}表示屬性${maven.build.timestamp}的展示格式,默認(rèn)值為yyyyMMdd-HHmm,可自定義其格式,其類型可參考java.text.SimpleDateFormat。
另外兩種方式
方式1:編譯階段指定外部lib
<plugin> <artifactId>maven-compiler-plugin</artifactId> <version>2.3.2</version> <configuration> <source>1.8</source> <target>1.8</target> <encoding>UTF-8</encoding> <compilerArguments> <extdirs>lib</extdirs><!--指定外部lib--> </compilerArguments> </configuration> </plugin>
方式2:將外部jar打入本地maven倉庫
cmd 進(jìn)入jar包所在路徑,執(zhí)行以下命令
引入依賴
<dependency> <groupId>com.hope.cloud</groupId> <artifactId>cloud</artifactId> <version>1.0</version> </dependency>
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Spring Cloud入門教程之Zuul實(shí)現(xiàn)API網(wǎng)關(guān)與請求過濾
這篇文章主要給大家介紹了關(guān)于Spring Cloud入門教程之Zuul實(shí)現(xiàn)API網(wǎng)關(guān)與請求過濾的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。2018-05-05
SpringCloud實(shí)戰(zhàn)小貼士之Zuul的路徑匹配
這篇文章主要介紹了SpringCloud實(shí)戰(zhàn)小貼士之Zuul的路徑匹配,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-10-10
MapStruct實(shí)體間轉(zhuǎn)換的簡單用法
今天小編就為大家分享一篇關(guān)于MapStruct實(shí)體間轉(zhuǎn)換的簡單用法,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧2019-03-03
java List出現(xiàn)All elements are null問題及解決
這篇文章主要介紹了java List出現(xiàn)All elements are null問題及解決方案,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-11-11
springboot整合redis進(jìn)行數(shù)據(jù)操作(推薦)
springboot整合redis比較簡單,并且使用redistemplate可以讓我們更加方便的對數(shù)據(jù)進(jìn)行操作。下面通過本文給大家分享springboot整合redis進(jìn)行數(shù)據(jù)操作的相關(guān)知識(shí),感興趣的朋友一起看看吧2017-10-10

