在maven中引入本地jar包的步驟
1 起因
在和一些第三方廠商對(duì)接的過程中, 偶爾會(huì)遇到對(duì)方提供的SDK自帶maven無法獲取的jar包的情況(對(duì)于開源激進(jìn)者的筆者很討厭這種行為)
我們?cè)撊绾翁幚磉@種情況呢, 其實(shí)解決思路很簡單:
- 在pom中引入本地jar
- 打包時(shí)本地jar包含在內(nèi)
讓我們來看看具體怎么操作吧
idea中雖然可以在項(xiàng)目配置加入, 但打包時(shí)會(huì)報(bào)錯(cuò), 相關(guān)的處理方案不再思考
2 解決方案
首先, 終極解決方案是: 把jar包傳到自己的maven私服上
對(duì)于沒有自己私服的小伙伴們這是句廢話, 我們還是來看看實(shí)際的吧
2.1 在pom中引入
以下是我個(gè)人的解決方案, 先介紹下項(xiàng)目目錄:
project |---src |---lib |---pig.jar |---pom.xml
我們可直接在pom中加入如下引用:
<dependency> <groupId>cn.com.pig</groupId> <artifactId>pig</artifactId> <version>1.0</version> <scope>system</scope> <systemPath>${project.basedir}/lib/pig.jar</systemPath> </dependency>
其中的groupId, version等內(nèi)容, 可以在idea中打開jar包, 查看里面的MANIFEST.MF獲取
2.2 Spring Boot 打包處理
完成了pom引入后, 直接執(zhí)行maven的package命令, 會(huì)出現(xiàn)找不到pig.jar的問題, 我們繼續(xù)來進(jìn)行修改:
<build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <!--加入這條配置即可--> <configuration> <includeSystemScope>true</includeSystemScope> </configuration> </plugin> </plugins> <build>
2.3 拓展: Spring Boot 打包加入其它資源
在和硬件設(shè)備交互時(shí), 我們除了基礎(chǔ)的jar包外, 可能還需要引入一些dll文件(當(dāng)然, 筆者更推薦將這些dll放在項(xiàng)目外部, 引用時(shí)通過絕對(duì)路徑處理)
可以采用下面的方式來加入這些資源:
<resources> <resource> <directory>dll</directory> <targetPath>/BOOT-INF/dll/</targetPath> <includes> <include>*.*</include> </includes> </resource> </resources>
對(duì)上面的參數(shù)進(jìn)行下講解:
- directory: 本地路徑, dll即project/dll
- targetPath: 打包完成后在jar包中的路徑, 如果開頭不為/, 默認(rèn)在classes目錄下追加, 例如dll, 則會(huì)實(shí)際生成在/BOOT-INF/classes/dll, 上面填寫的則會(huì)打包到/BOOT-INF/dll
- include: 包含文件, *.*為所有
以上就是在maven中引入本地jar包的步驟的詳細(xì)內(nèi)容,更多關(guān)于maven中引入本地jar包的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
SpringBoot項(xiàng)目多數(shù)據(jù)源及mybatis 駝峰失效的問題解決方法
這篇文章主要介紹了SpringBoot項(xiàng)目多數(shù)據(jù)源及mybatis 駝峰失效的問題解決方法,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-07-07Java使用路徑通配符加載Resource與profiles配置使用詳解
這篇文章主要介紹了Java使用路徑通配符加載Resource與profiles配置使用詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-06-06深入解析Java設(shè)計(jì)模式編程中觀察者模式的運(yùn)用
這篇文章主要介紹了Java設(shè)計(jì)模式編程中觀察者模式的運(yùn)用,觀察者模式主要是為了將對(duì)象進(jìn)行與被觀察者一樣的實(shí)現(xiàn),需要的朋友可以參考下2016-02-02關(guān)于SHA算法原理與常用實(shí)現(xiàn)方式
這篇文章主要介紹了關(guān)于SHA算法原理與常用實(shí)現(xiàn)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-08-08Springboot整合xxl-job實(shí)現(xiàn)動(dòng)態(tài)傳參
XXL-JOB是一個(gè)分布式任務(wù)調(diào)度平臺(tái),本文主要介紹了Springboot整合xxl-job實(shí)現(xiàn)動(dòng)態(tài)傳參,具有一定的參考價(jià)值,感興趣的可以了解一下2025-03-03解析Tomcat 6、7在EL表達(dá)式解析時(shí)存在的一個(gè)Bug
這篇文章主要是對(duì)Tomcat 6、7在EL表達(dá)式解析時(shí)存在的一個(gè)Bug進(jìn)行了詳細(xì)的分析介紹,需要的朋友可以過來參考下,希望對(duì)大家有所幫助2013-12-12超詳細(xì)介紹idea中java程序打jar包的兩種方式
這篇文章主要介紹了超詳細(xì)介紹idea中java程序打jar包的兩種方式一種是可直接執(zhí)行的runnable jar文件,另一種是包含多個(gè)主類,運(yùn)行時(shí)需要指定主類全類名的jar包,感興趣的可以了解一下2020-07-07SpringBoot如何使用Scala進(jìn)行開發(fā)的實(shí)現(xiàn)
這篇文章主要介紹了SpringBoot如何使用Scala進(jìn)行開發(fā)的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-12-12