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