Maven項(xiàng)目中引入本地JAR包的兩種常見(jiàn)方式
前言
在日常開(kāi)發(fā)過(guò)程中,我們有時(shí)會(huì)遇到一些未上傳到 Maven 中央倉(cāng)庫(kù)或公司私有倉(cāng)庫(kù)的 JAR 包,比如第三方提供的 SDK 或自己編譯的庫(kù)。這時(shí)候,我們就需要將這些 JAR 包手動(dòng)引入到 Maven 項(xiàng)目中。本文將介紹兩種常見(jiàn)方式:將 JAR 安裝到本地倉(cāng)庫(kù)(推薦)和使用 system 作用域直接引用。
方法一:使用 mvn install:install-file 安裝到本地倉(cāng)庫(kù)(推薦)
這是最推薦的方式,它能夠最大程度保持 Maven 項(xiàng)目的整潔性與可維護(hù)性。
操作步驟:
打開(kāi)命令行工具。
執(zhí)行以下命令,將本地 JAR 包安裝到 Maven 的本地倉(cāng)庫(kù)中:
mvn install:install-file \ -Dfile=/path/to/your.jar \ -DgroupId=com.example \ -DartifactId=your-artifact \ -Dversion=1.0.0 \ -Dpackaging=jar
請(qǐng)將
/path/to/your.jar替換為你的 JAR 包實(shí)際路徑。
在
pom.xml中添加依賴:
<dependency> <groupId>com.example</groupId> <artifactId>your-artifact</artifactId> <version>1.0.0</version> </dependency>
優(yōu)點(diǎn):
與其他依賴使用方式一致;
支持依賴傳遞;
更適合多人協(xié)作和構(gòu)建工具集成;
可以結(jié)合私 服進(jìn)一步發(fā)布。
方法二:使用 system 作用域直接引用本地路徑(不推薦)
此方法不需要安裝到本地倉(cāng)庫(kù),直接在 pom.xml 中配置 JAR 包的路徑。
示例配置:
<dependency>
<groupId>com.example</groupId>
<artifactId>your-artifact</artifactId>
<version>1.0.0</version>
<scope>system</scope>
<systemPath>${project.basedir}/lib/your.jar</systemPath>
</dependency>注意:
${project.basedir}表示項(xiàng)目根目錄,推薦將 JAR 包放在lib目錄中統(tǒng)一管理。
缺點(diǎn):
無(wú)法參與依賴傳遞;
路徑硬編碼,不利于跨平臺(tái)、多人協(xié)作;
Maven 官方不推薦使用。
注意:
如打包需要如下配置:
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<includeSystemScope>true</includeSystemScope>
</configuration>
</plugin>總結(jié)
| 方法 | 推薦程度 | 特點(diǎn) |
|---|---|---|
install-file 安裝到本地倉(cāng)庫(kù) | ????? | 規(guī)范、支持依賴傳遞、適合長(zhǎng)期使用 |
| system 作用域引用 | ?? | 簡(jiǎn)單快捷,但不規(guī)范、不推薦 |
建議優(yōu)先使用 install-file 的方式管理本地 JAR,既可以保持項(xiàng)目結(jié)構(gòu)清晰,又方便團(tuán)隊(duì)協(xié)作和持續(xù)集成。如需管理多個(gè)本地 JAR,也可以考慮搭建私有 Maven 倉(cāng)庫(kù)進(jìn)行集中管理。
到此這篇關(guān)于Maven項(xiàng)目中引入本地JAR包的兩種常見(jiàn)方式的文章就介紹到這了,更多相關(guān)Maven引入本地JAR包內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
關(guān)于spring data jpa一級(jí)緩存的問(wèn)題
這篇文章主要介紹了關(guān)于spring data jpa一級(jí)緩存的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-11-11
IDEA 自帶的數(shù)據(jù)庫(kù)工具真的很牛(收藏版)
這篇文章主要介紹了IDEA 自帶的數(shù)據(jù)庫(kù)工具真的很牛(收藏版),本文以 IntelliJ IDEA/ Mac 版本作為演示,其他版本的應(yīng)該也差距不大,需要的朋友可以參考下2021-04-04
Springboot如何通過(guò)路徑映射獲取本機(jī)圖片資源
項(xiàng)目中對(duì)圖片的處理與查看是必不可少的,本文將講解如何通過(guò)項(xiàng)目路徑來(lái)獲取到本機(jī)電腦的圖片資源,本文通過(guò)示例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧2023-08-08
Java利用DelayQueue實(shí)現(xiàn)延遲任務(wù)代碼實(shí)例
java構(gòu)建OAuth2授權(quán)服務(wù)器
Java Flink與kafka實(shí)現(xiàn)實(shí)時(shí)告警功能過(guò)程
springboot使用@Slf4j進(jìn)行日志的記錄步驟詳解

