如何向maven本地倉庫新增jar包
原則上Maven的設計是不需要這麼做的,因為pom.xml中依賴的jar包會自動實現從中央倉庫下載到本地倉庫。但是公司設計了一個setting,如果本地倉庫沒有,就去setting指定的url中下載jar包,如果還沒有就報錯。
考慮到setting中url的jar包比較老,如果需要用最新的,則需要將jar包手動下載到本地倉庫。
比如我下載了
lucene-queryparser-4.6.1.jar
怎麼新增到本地倉庫呢?
步驟:
1.cmd命令進入該jar包所在路徑
2.執行命令
mvn install:install-file -Dfile=lucene-queryparser-4.6.1.jar -DgroupId=org.apache.lucene -DartifactId=lucene-queryparser -Dversion=4.6.1 -Dpackaging=jar
(不同的jar包相對應替換對應部分)
另外我嘗試了下面的方法,發現不行:
直接寫一個空的pom,裡頭包含對所需要jar包的依賴,通過這種方式希望將jar包下載到本地倉庫。但是應用程式碼中沒用到,maven命令沒有下載這個jar包到本地倉庫。
補充,-DgroupId和-DartifactId的作用其實是指定了這個jar包的安裝在repository的安裝路徑,只是用來告訴專案去這個路徑下尋找這個名稱的jar包。比如:
mvn install:install-file -Dfile=freemarker-2.3.13.jar -DgroupId=freemarker -DartifactId=freemarker -Dversion=2.3.13 -Dpackaging=jar
就是安裝到了repository\freemarker\freemarker\2.3.13目錄下,如果在dependency的依賴裡也這麼寫的話,就可以到對應的目錄去尋找。
對於maven中存在classifier的,例如
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-hdfs</artifactId>
<version>2.2.0</version>
<classifier>tests</classifier>
</dependency>
就加一個-D引數就可以了,如下:
mvn install:install-file -Dfile=hadoop-hdfs-2.2.0-tests.jar -DgroupId=org.apache.hadoop -DartifactId=hadoop-hdfs -Dversion=2.2.0 -Dclassifier=tests -Dpackaging=jar