Maven導入本地jar包的實現步驟
軟件項目管理和發佈工具Maven給java的開發帶來瞭很多的方便。需要引用其他jar包的時候隻需要在pom.xml添加相關的依賴,maven就會自動解析依賴、下載jar包,更新jar包也隻需要修改version字段,大大簡化瞭jar包的引用。但是有時候我們要用的某幾個包在maven上不存在,隻能下載jar包到本地並添加到java項目中,然而問題隨之而來:maven隻能打包pom.xml裡面聲明的依賴,不能識別本地jar包。本文介紹3種把本地jar包添加到pom.xml的方式。
1、 在本地maven倉庫安裝本地jar包
maven install可以把指定的文件安裝到本地maven倉庫(使用maven指令前需要安裝apache maven)。有三種install方式:
(1)mvn install:install-file -Dfile=<path-to-file> -DgroupId=<group-id> -DartifactId=<artifact-id> -Dversion=<version> -Dpackaging=<packaging>
指定jar包、groupid、artifactId和version,maven會自動生成相應的pom.xml文件。
(2)mvn install:install-file -Dfile=<path-to-file> -DpomFile=<path-to-pomfile>
如果jar包是用maven打包生成的,可以直接指定jar包和pom.xml文件。
(3)mvn install:install-file -Dfile=<path-to-file>
如果jar包是用maven打包生成的,maven 2.5版本會自動根據jar包生成pom.xml文件。
下面按照方法(1)給出一個例子,方法(2)和(3)類似:
首先創建兩個項目:LocalJarforMavenDemo(Maven項目),LocalJar(普通java項目)。
(1)LocalJar添加一個類:
public class MethodOne { public void method(){ System.out.println("method in MethodOne called."); } }
(2)LocalJar打包:localjar-1.0.0.jar,在windows命令窗口輸入mvn install指令:mvn install:install-file -Dfile=LocalJar.jar -DgroupId=nlp -DartifactId=localjar -Dversion=1.0.0 -Dpackaging=jar
安裝成功後,在.m2/repository文件夾裡可以看到jar包和pom.xml文件。
(3)LocalJarforMavenDemo項目的pom.xml添加localjar-1.0.0.jar包:
<dependency> <groupId>nlp</groupId> <artifactId>localjar</artifactId> <version>1.0.0</version> </dependency>
成功導入包後,就可以引用localjar-1.0.0.jar包裡的類瞭:
/** * Created by Alex on 2017/1/15. */ public class TestLocalJar { private static Logger logger = LoggerFactory.getLogger(TestLocalJar.class); public void testMethod(){ logger.info("testMethod in TestLocalJar"); MethodOne methodOne = new MethodOne(); //localjar-1.0.0.jar的類 methodOne.method(); } }
2、把本地jar包放在項目的某個目錄中
把本地jar包放在項目的某個目錄中,就可以在pom.xml中引用該jar包瞭。在項目中構建目錄,pom.xml添加reposiroty和dependency:
<repositories> <repository> <id>localrepository</id> <url>file://${basedir}/repo</url> </repository> </repositories> <dependency> <groupId>nlp</groupId> <artifactId>localjar</artifactId> <version>1.0.0</version> </dependency>
3、使用scope system依賴
和方法2類似,pom.xml添加dependency,但不需要添加。這種方法可能出現奇怪的錯誤,所以不推薦使用。
<dependency> <groupId>nlp</groupId> <artifactId>localjar</artifactId> <version>1.0.0</version> <scope>system</scope> <systemPath>${project.basedir}/repo/nlp/localjar/1.0.0/LocalJar.jar</systemPath> </dependency>
參考資料
1、https://maven.apache.org/guides/mini/guide-3rd-party-jars-local.html
2、http://doduck.com/adding-local-jar-in-maven-local-repository/
到此這篇關於Maven導入本地jar包的實現步驟的文章就介紹到這瞭,更多相關Maven導入本地jar內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- 手動實現將本地jar添加到Maven倉庫
- Maven引用自定義jar包方式
- 解決maven打包失敗:程序包xxxx不存在問題
- springboot新建項目pom.xml文件第一行報錯的解決
- Maven繼承與聚合詳解及作用介紹