主要是一種緩存,當你使用遠程倉庫中下載組件后,它下一次會優(yōu)先從本地進行加載,一般位于user_home/.m2目錄下,我們自己也可以建立公用的包,把包發(fā)布到本地倉庫,自己在其它項目里直接可以用,當然如果希望在任務(wù)地方都使用自己的包,需要把它發(fā)布到遠程倉庫中。
像nuget,npm一樣maven也是倉庫
jar的maven配置
1
2
3
4
5
|
<dependency> <groupid>javalindday</groupid> <artifactid>jpademo</artifactid> <version> 0.0 . 1 </version> </dependency> |
將jar包安裝到本地倉庫
1
|
mvn install:install-file -dfile=/users/lind.zhang/github/jpademo/build/libs/jpademo- 0.0 . 1 .jar -dgroupid=javalindday -dartifactid=jpademo -dversion= 0.0 . 1 -dpackaging=jar |
dgroupid和dartifactid構(gòu)成了該jar包在pom.xml的坐標, 對應(yīng)依賴的dgroupid和dartifactid
dfile表示需要上傳的jar包的絕對路徑
dpackaging 為安裝文件的種類
打包的結(jié)果
? jpademo git:(master) ?mvn install:install-file -dfile=/users/lind.zhang/github/jpademo/build/libs/jpademo-0.0.1.jar -dgroupid=javalindday -dartifactid=japdemo -dversion=0.0.1 -dpackaging=jar
[info] scanning for projects...
[info]
[info] ------------------< org.apache.maven:standalone-pom >-------------------
[info] building maven stub project (no pom) 1
[info] --------------------------------[ pom ]---------------------------------
[info]
[info] --- maven-install-plugin:2.4:install-file (default-cli) @ standalone-pom ---
[info] installing /users/lind.zhang/github/jpademo/build/libs/jpademo-0.0.1.jar to /users/lind.zhang/.m2/repository/javalindday/japdemo/0.0.1/japdemo-0.0.1.jar
[info] installing /var/folders/jg/yyzswj8j6pb5z7mtgyq3vx500000gn/t/mvninstall6617860076838629494.pom to /users/lind.zhang/.m2/repository/javalindday/japdemo/0.0.1/japdemo-0.0.1.pom
[info] ------------------------------------------------------------------------
[info] build success
[info] ------------------------------------------------------------------------
[info] total time: 0.497 s
[info] finished at: 2018-07-20t16:04:37+08:00
[info] ------------------------------------------------------------------------
? jpademo git:(master) ?
上傳jar到私有倉庫
1
|
mvn deploy:deploy-file -dgroupid=javalindday -dartifactid=jpademo -dversion= 0.0 . 1 -dpackaging=jar -dfile=/users/lind.zhang/github/jpademo/build/libs/jpademo- 0.0 . 1 .jar -durl=http: //ip:port/nexus/content/repositories/thirdparty/ -drepositoryid=thirdparty |
dgroupid和dartifactid構(gòu)成了該jar包在pom.xml的坐標, 對應(yīng)依賴的dgroupid和dartifactid
dfile表示需要上傳的jar包的絕對路徑
durl私服上倉庫的url精確地址(打開nexus左側(cè)repositories菜單,可以看到該路徑)
drepositoryid服務(wù)器的表示id,在nexus的configuration可以看到
使用本地緩存
從maven切換到gradle,原有的幾g的本地緩存庫當然想繼續(xù)使用。
如果想使用maven本地緩存,需要定義:build.gradle 文件下定義
1
2
3
4
5
|
build.gradle repositories { mavenlocal() } |
gradle使用與maven相同的策略去定位本地maven緩存的位置。如果在settings.xml中定義了本地maven倉庫的地址,則使用該地址。
在user_home/.m2下的settings.xml文件中的配置會覆蓋存放在m2_home/conf下的settings.xml文件中的配置。
如果沒有settings.xml配置文件,gradle會使用默認的user_home/.m2/repository地址。
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,如果有疑問大家可以留言交流,謝謝大家對服務(wù)器之家的支持。
原文鏈接:http://www.cnblogs.com/lori/p/9342413.html