maven?導(dǎo)入resource?lib文件夾中的jar的幾種方法
在Maven項(xiàng)目中,如果需要導(dǎo)入位于 src/main/resources/lib
或其他目錄中的JAR文件,通常不推薦直接將JAR文件放在資源目錄中。Maven有更規(guī)范的方式來管理依賴項(xiàng),通常是通過在 pom.xml
文件中聲明依賴項(xiàng)來實(shí)現(xiàn)的。然而,如果你確實(shí)需要使用本地的JAR文件。
方法一:將JAR文件安裝到本地Maven倉庫
1.將JAR文件安裝到本地Maven倉庫使用 mvn install:install-file 命令將JAR文件安裝到本地Maven倉庫。
mvn install:install-file -Dfile=<path-to-file> -DgroupId=<group-id> -DartifactId=<artifact-id> -Dversion=<version> -Dpackaging=jar
如:
mvn install:install-file -Dfile=E:\DownloadWorkSpaces\mysql-connector-java-8.0.27.jar -DgroupId=com.mysql -DartifactId=mysql-connector-j -Dversion=8.0.27 -Dpackaging=jar
2.在 pom.xml
中聲明依賴
在 pom.xml
文件中添加相應(yīng)的依項(xiàng)。
<dependency> <groupId>com.mysql</groupId> <artifactId>mysql-connector-j</artifactId> <version>8.0.27</version> </dependency>
方法二:使用 system 范圍的依賴
雖然不推薦,但你可以使用 system
范圍的依賴來引用本地的JAR文件。這種方法有一些缺點(diǎn),比如不能很好地處理依賴傳遞和版本控制。
在 pom.xml
中聲明系統(tǒng)范圍的依賴:
<dependency> <groupId>com.mysql</groupId> <artifactId>mysql-connector-j</artifactId> <version>8.0.27</version> <scope>system</scope> <systemPath>${project.basedir}/src/main/resources/lib/mysql-connector-java-8.0.27.jar</systemPath> </dependency>
<systemPath>
是相對(duì)于項(xiàng)目的根目錄(即包含 pom.xml
的目錄)的路徑。
方法三:使用 maven-install-plugin 插件
你可以在 pom.xml 中配置 maven-install-plugin 插件,在構(gòu)建過程中自動(dòng)安裝JAR文件到本地Maven倉庫。
1.在 pom.xml 中配置插件
添加一個(gè)時(shí):
<build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-install-plugin</artifactId> <version>2.5.2</version> <executions> <execution> <id>install-external-jar</id> <phase>validate</phase> <goals> <goal>install-file</goal> </goals> <configuration> <file>${project.basedir}/src/main/resources/lib/mysql-connector-java-8.0.27</file> <groupId>com.mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.27</version> <packaging>jar</packaging> </configuration> </execution> </executions> </plugin> </plugins> </build>
多個(gè)時(shí)
<build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-install-plugin</artifactId> <version>2.5.2</version> <executions> <!-- 第一個(gè) JAR 文件 --> <execution> <id>install-external-jar</id> <phase>validate</phase> <goals> <goal>install-file</goal> </goals> <configuration> <file>${project.basedir}/src/main/resources/lib/mysql-connector-java-8.0.27</file> <groupId>com.mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.27</version> <packaging>jar</packaging> </configuration> </execution> <!-- 第二個(gè) JAR 文件 --> <execution> <id>install-second-jar</id> <phase>validate</phase> <goals> <goal>install-file</goal> </goals> <configuration> <file>${project.basedir}/src/main/resources/lib/hibernate-core-5.6.7.Final</file> <groupId>org.hibernate</groupId> <artifactId>hibernate-core</artifactId> <version>8.0.27</version> <packaging>jar</packaging> </configuration> </execution> <!-- 可以繼續(xù)添加更多的執(zhí)行目標(biāo)來安裝更多的 JAR 文件 --> </executions> </plugin> </plugins> </build>
插件配置:
- <plugin>元素定義了maven-install-plugin插件。
- <executions>元素包含了多個(gè)<execution>子元素,每個(gè)子元素代表一個(gè)JAR文件的安裝過程。
每個(gè)執(zhí)行目標(biāo):
- <id>:為每個(gè)執(zhí)行目標(biāo)提供一個(gè)唯一的標(biāo)識(shí)符。
- <phase>:指定了該執(zhí)行目標(biāo)綁定到的構(gòu)建生命周期階段。這里選擇validate階段,確保在編譯之前安裝 JAR 文件。
- <goals>:指定了要執(zhí)行的目標(biāo),這里是install-file。
- <configuration>:提供了安裝 JAR 文件所需的詳細(xì)信息,包括文件路徑、groupId、artifactId 和版本等。
2.在 pom.xml
中聲明依賴:
單個(gè):
<dependency> <groupId>com.mysql</groupId> <artifactId>mysql-connector-j</artifactId> <version>8.0.27</version> </dependency>
多個(gè):
<dependency> <groupId>com.mysql</groupId> <artifactId>mysql-connector-j</artifactId> <version>8.0.27</version> </dependency> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-core</artifactId> <version>5.6.7.Final</version> </dependency>
運(yùn)行 Maven 構(gòu)建時(shí),Maven 會(huì)在 validate
階段自動(dòng)執(zhí)行這些配置,將指定的 JAR 文件安裝到本地倉庫,并且項(xiàng)目會(huì)包含這些依賴項(xiàng)。
推薦的方法:將JAR文件安裝到本地Maven倉庫,并在 pom.xml 中聲明依賴。
不推薦的方法:使用 system 范圍的依賴或在構(gòu)建過程中自動(dòng)安裝JAR文件。
到此這篇關(guān)于maven 導(dǎo)入resource lib文件夾中的jar的幾種方法的文章就介紹到這了,更多相關(guān)maven 導(dǎo)入jar內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- maven無法自動(dòng)導(dǎo)入依賴jar包解決方式
- maven導(dǎo)入本地jar包的三種方式
- Maven配置文件修改及導(dǎo)入第三方j(luò)ar包的實(shí)現(xiàn)
- Maven導(dǎo)入本地jar包的實(shí)現(xiàn)步驟
- 如何把本地jar包導(dǎo)入maven并pom添加依賴
- 將下載好的jar包導(dǎo)入到本地maven倉庫中操作
- maven實(shí)現(xiàn)jar包導(dǎo)入+導(dǎo)出方式
- 解決IDEA中maven導(dǎo)入jar包一直報(bào)錯(cuò)問題
- 如何在IDEA Maven項(xiàng)目中導(dǎo)入本地jar包的步驟
- IDEA引MAVEN項(xiàng)目jar包依賴導(dǎo)入問題解決方法
相關(guān)文章
Java 字節(jié)數(shù)組類型(byte[])與int類型互轉(zhuǎn)方法
下面小編就為大家?guī)硪黄狫ava 字節(jié)數(shù)組類型(byte[])與int類型互轉(zhuǎn)方法。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-02-02Spring+Http請(qǐng)求+HttpClient實(shí)現(xiàn)傳參
這篇文章主要介紹了Spring+Http請(qǐng)求+HttpClient實(shí)現(xiàn)傳參,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-03-03Java中replace與replaceAll的區(qū)別與測(cè)試
replace和replaceAll是JAVA中常用的替換字符的方法,下面這篇文章主要給大家介紹了關(guān)于Java中replace與replaceAll的區(qū)別與測(cè)試,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-09-09Springboot2.x+ShardingSphere實(shí)現(xiàn)分庫分表的示例代碼
這篇文章主要介紹了Springboot2.x+ShardingSphere實(shí)現(xiàn)分庫分表的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-10-10Java反應(yīng)式框架Reactor中的Mono和Flux
這篇文章主要介紹了Java反應(yīng)式框架Reactor中的Mono和Flux,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-07-07為什么說要慎用SpringBoot @ComponentScan
本文主要介紹了為什么說要慎用SpringBoot @ComponentScan,文中通過示例代碼介紹的非常詳細(xì),需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-07-07SpringBoot Redis配置多數(shù)據(jù)源的項(xiàng)目實(shí)踐
springboot中默認(rèn)的redis配置是只能對(duì)單個(gè)redis庫進(jìn)行操作的, 那么我們需要多個(gè)庫操作的時(shí)候這個(gè)時(shí)候就可以采用redis多數(shù)據(jù)源 ,本文就介紹了SpringBoot Redis配置多數(shù)據(jù)源,感興趣的可以了解一下2023-07-07