1. 程式人生 > >手動將本地jar新增到Maven倉庫

手動將本地jar新增到Maven倉庫

一、將jar新增到本地倉庫的做法:

以下面pom.xml依賴的jar包為例:

實際專案中pom.xml依賴寫法:

<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-context-support</artifactId>
    <version>3.1.0.RELEASE</version>
</dependency>

Maven 安裝 JAR 包的命令是:

mvn install:install-file 
-Dfile=jar包的位置 
-DgroupId=上面的groupId 
-DartifactId=上面的artifactId 
-Dversion=上面的version 
-Dpackaging=jar

例如我的這個spring-context-support-3.1.0.RELEASE.jar 檔案放在了"D:\mvn\"中

則命令為:

mvn install:install-file 

-Dfile=D:\mvn\spring-context-support-3.1.0.RELEASE.jar 

-DgroupId=org.springframework 

-DartifactId=spring-context-support 

-Dversion=3.1.0.RELEASE 

-Dpackaging=jar

注意:任何路徑和名稱不要有中文和空格,以防出現莫名其妙的錯誤。

還可以解決本地倉庫是從別人那邊複製的,但是需要的jar包中央倉庫不存在,導致的執行package時出現以下異常

Failed to execute goal on project relayserver: Could not resolve dependencies for project com.xxx:xxx:war:1.0-SNAPSHOT: Failure to find xxx.xxx:xxx:jar:1.0 in http://maven.aliyun
.com/nexus/content/groups/public was cached in the local repository, resolution will not be reattempted until the update interval of nexus-aliyun has elapsed or updates are forced 

二、不講jar包新增到本地倉庫也可在maven工程中使用外部jar包的做法:

假設將包htmlparser.jar放入了專案下的lib目錄中 :-> ${project}/lib/htmlparser.jar
則pom.xml檔案中依賴可以如下:
<dependency>
    <groupId>com.htmlparser</groupId>
    <artifactId>htmlparser</artifactId>
    <version>2.0</version>
    <scope>system</scope>
    <systemPath>${project.basedir}/lib/htmlparser.jar</systemPath>
</dependency>