java如何使用自己的maven本地倉(cāng)庫(kù)詳解
本地倉(cāng)庫(kù)
主要是一種緩存,當(dāng)你使用遠(yuǎn)程倉(cāng)庫(kù)中下載組件后,它下一次會(huì)優(yōu)先從本地進(jìn)行加載,一般位于USER_HOME/.m2目錄下,我們自己也可以建立公用的包,把包發(fā)布到本地倉(cāng)庫(kù),自己在其它項(xiàng)目里直接可以用,當(dāng)然如果希望在任務(wù)地方都使用自己的包,需要把它發(fā)布到遠(yuǎn)程倉(cāng)庫(kù)中。
像nuget,npm一樣maven也是倉(cāng)庫(kù)
Jar的maven配置
<dependency> <groupId>javalindday</groupId> <artifactId>jpaDemo</artifactId> <version>0.0.1</version> </dependency>
將Jar包安裝到本地倉(cāng)庫(kù)
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的坐標(biāo), 對(duì)應(yīng)依賴的DgroupId和DartifactId
Dfile表示需要上傳的jar包的絕對(duì)路徑
Dpackaging 為安裝文件的種類(lèi)
打包的結(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到私有倉(cāng)庫(kù)
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的坐標(biāo), 對(duì)應(yīng)依賴的DgroupId和DartifactId
Dfile表示需要上傳的jar包的絕對(duì)路徑
Durl私服上倉(cāng)庫(kù)的url精確地址(打開(kāi)nexus左側(cè)repositories菜單,可以看到該路徑)
DrepositoryId服務(wù)器的表示id,在nexus的configuration可以看到
使用本地緩存
從Maven切換到Gradle,原有的幾G的本地緩存庫(kù)當(dāng)然想繼續(xù)使用。
如果想使用Maven本地緩存,需要定義:build.gradle 文件下定義
build.gradle
repositories {
mavenLocal()
}
Gradle使用與Maven相同的策略去定位本地Maven緩存的位置。如果在settings.xml中定義了本地Maven倉(cāng)庫(kù)的地址,則使用該地址。
在USER_HOME/.m2下的settings.xml文件中的配置會(huì)覆蓋存放在M2_HOME/conf下的settings.xml文件中的配置。
如果沒(méi)有settings.xml配置文件,Gradle會(huì)使用默認(rèn)的USER_HOME/.m2/repository地址。
總結(jié)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,如果有疑問(wèn)大家可以留言交流,謝謝大家對(duì)腳本之家的支持。
相關(guān)文章
基于Quartz定時(shí)調(diào)度任務(wù)(詳解)
下面小編就為大家?guī)?lái)一篇基于Quartz定時(shí)調(diào)度任務(wù)(詳解)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-11-11
Java并發(fā)之ReentrantLock類(lèi)源碼解析
這篇文章主要為大家詳細(xì)介紹了Java并發(fā)系列之ReentrantLock源碼,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-03-03
SpringBoot項(xiàng)目打包運(yùn)行jar包的實(shí)現(xiàn)示例
Java中StringUtils工具類(lèi)的一些用法實(shí)例
使用@TableField(updateStrategy=FieldStrategy.IGNORED)遇到的坑記錄
java多態(tài)實(shí)現(xiàn)電子寵物系統(tǒng)

