Maven 部署成品

上傳設(shè)置

  1. settings.xml 中設(shè)置倉庫憑證:servers 節(jié)點(diǎn)中添加如下配置.[如果未加密則可跳過]
    <server>
        <id>releases</id>
        <username>************</username>
        <password>************</password>
    </server>
    <server>
        <id>snapshots</id>
        <username>************</username>
        <password>************</password>
    </server>
  1. pom.xml 配置

配置好了settings.xml后火邓,在 代碼庫根目錄下的 pom.xml 加入以下配置:

<!-- 需要發(fā)布二方包 則打開下列配置 -->
<distributionManagement>
    <repository>
        <id>rdc-releases</id>
        <url>https://repo.rdc.aliyun.com/repository/78947-release-CfzLQ7/</url>
    </repository>
    <snapshotRepository>
        <id>rdc-snapshots</id>
        <url>https://repo.rdc.aliyun.com/repository/78947-snapshot-XtuBsZ/</url>
    </snapshotRepository>
</distributionManagement>
  1. 推送到私有倉庫中
mvn clean deploy -DskipTests

或者指定 deploy plugin 版本并進(jìn)行部署

mvn clean org.apache.maven.plugins:maven-deploy-plugin:2.8:deploy -DskipTests

拉取制品到倉庫

進(jìn)入所在 maven 項(xiàng)目姜挺,執(zhí)行 mvn package 命令即可当凡。

否則需要建立空白倉庫烘挫】已空白倉庫的用處是可以作為批量制品遷移的原始倉庫,需要用 -Dmaven.repo.local 的參數(shù)颂砸。

mvn archetype:generate \
-DarchetypeArtifactId=maven-archetype-quickstart \
-DartifactId=edu \
-DgroupId=ecjtu \
-DarchetypeVersion=1.4 \
-DinteractiveMode=false

然后在代碼根目錄下運(yùn)行

mvn clean package -U -Dmaven.repo.local=../tmpRepo

如果構(gòu)建成功則會(huì)在上級(jí)目錄創(chuàng)建 tmpRepo 本地倉庫噪奄。

然后你的pom.xml文件<denpendencies></denpendencies>節(jié)點(diǎn)中加入你要引用的文件信息∪伺遥可以再次進(jìn)行 package 操作勤篮。依賴則會(huì)下載到本地。

通過 deploy 插件上傳

如果第三方 Maven 包未正規(guī)發(fā)布到網(wǎng)絡(luò)倉庫色罚,而且僅提供 jar 包碰缔,未提供源碼或者源碼編譯報(bào)錯(cuò),那我們可以把 jar 包直接上傳到倉庫戳护,命令如下:

mvn deploy:deploy-file -Durl=file://C:\m2-repo \
                       -DrepositoryId=some.id \
                       -Dfile=your-artifact-1.0.jar \
                       [-DpomFile=your-pom.xml] \
                       [-DgroupId=org.some.group] \
                       [-DartifactId=your-artifact] \
                       [-Dversion=1.0] \
                       [-Dpackaging=jar] \
                       [-Dclassifier=test] \
                       [-DgeneratePom=true] \
                       [-DgeneratePom.description="My Project Description"] \
                       [-DrepositoryLayout=legacy]

如果第三方提供了 pom.xml金抡,可以從中讀取 group、artifact腌且、version 等字段梗肝,比如「微信云支付 Java SDK」使用下列命令:

mvn deploy:deploy-file --settings ./settings.xml -Durl=https://coding-public-maven.pkg.coding.net/repository/tencent-cloud-pay-sdk-java/tencent/ \
                       -DrepositoryId=coding-public-tencent-cloud-pay-sdk-java-tencent \
                       -Dfile=../cloudpay.jar \
                       -DpomFile=pom.xml

通過網(wǎng)頁上傳

登錄對(duì)應(yīng)的私服地址,比如是nexus铺董。然后選擇左側(cè)菜單的 upload巫击。

其他版本的nexus可能是其他方式上傳。

【推薦方式一】migrate-local-repo-tool.jar 工具批量制品上傳

操作步驟:

1.下載遷移工具migrate-local-repo-tool.jar

2.在您本地運(yùn)行該遷移工具,(請(qǐng)首先確保您的JDK版本為1.8及以上)喘鸟。運(yùn)行命令如下:

java -jar migrate-local-repo-tool.jar -cd "C:/Users/hp\Desktop/abc/tmpRepo/classworlds/classworlds/1.1
" -t "https://packages.aliyun.com/maven/repository/2001766-release-lv0JtK" -u ******* -p *******

參數(shù)注解:
-cd 您要遷移的本地目錄匆绣,例如:/$HOME/.m2/repository/
-t 目標(biāo)倉庫地址(您可以在【私有倉庫】界面點(diǎn)擊倉庫地址,獲取您的目標(biāo)倉庫地址)
-u 用戶名
-p 密碼

根據(jù)您的實(shí)際需求指定合適的參數(shù)什黑,然后執(zhí)行該命令崎淳,稍等片刻,您的本地倉庫中的制品將會(huì)被批量遷移到您所指定的 Maven 私庫中愕把。

如果遷移的本地目錄中文件目錄過多或者目錄層級(jí)過深拣凹,可能會(huì)導(dǎo)致遷移命令卡死或者返回異常。推薦做法是只遷移你自己的私有制品到私有倉庫中恨豁,構(gòu)建時(shí)拉取公共制品包可以使用我們提供的公共代理庫嚣镜。比如假設(shè)你的私有制品都放置在 /$HOME/.m2/repository/com/alibaba/ 目錄中,你可以將com/alibaba/ 目錄復(fù)制一份到一個(gè)空的目錄中橘蜜,比如復(fù)制到 /tmp/repo/ 中菊匿,然后運(yùn)行遷移命令時(shí)將-cd命令參數(shù)指定為 /tmp/repo/,這樣遷移工具只會(huì)遷移你的私有制品计福。

【推薦方式二】批量上傳Maven倉庫 jar 包到 Nexus3.x 私服

1.先將本地 maven/repository 倉庫打一個(gè)完整的zip壓縮包
2.上傳到 linux 目錄跌捆,如:/opt
3.解壓 repository.zip
4.進(jìn)入repository 目錄
5.創(chuàng)建 touch mavenimport.sh 腳本,寫入以下內(nèi)容象颖;

#!/bin/bash
# copy and run this script to the root of the repository directory containing files
# this script attempts to exclude uploading itself explicitly so the script name is important
# Get command line params
 
while getopts ":r:u:p:" opt; do
    case $opt in
        r) REPO_URL="$OPTARG"
        ;;
        u) USERNAME="$OPTARG"
        ;;
        p) PASSWORD="$OPTARG"
        ;;
    esac
done
 
find . -type f -not -path './mavenimport\.sh*' -not -path '*/\.*' -not -path '*/\^archetype\-catalog\.xml*' -not -path '*/\^maven\-metadata\-local*\.xml' -not -path '*/\^maven\-metadata\-deployment*\.xml' | sed "s|^\./||" | xargs -I '{}' curl -u "$USERNAME:$PASSWORD" -X PUT -v -T {} ${REPO_URL}/{} ;

6.輸入chmod a+x mavenimport.sh進(jìn)行可執(zhí)行授權(quán)
7.執(zhí)行導(dǎo)入命令

./mavenimport.sh -u admin -p admin123 -r http://ip:8081/repository/maven-releases/

8.等待全部導(dǎo)入完畢后佩厚,在 Nexus 上刷新即可看到已導(dǎo)入的 jar。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末说订,一起剝皮案震驚了整個(gè)濱河市抄瓦,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌陶冷,老刑警劉巖钙姊,帶你破解...
    沈念sama閱讀 212,454評(píng)論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異埂伦,居然都是意外死亡摸恍,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,553評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門赤屋,熙熙樓的掌柜王于貴愁眉苦臉地迎上來立镶,“玉大人,你說我怎么就攤上這事类早∶拿剑” “怎么了?”我有些...
    開封第一講書人閱讀 157,921評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵涩僻,是天一觀的道長缭召。 經(jīng)常有香客問我栈顷,道長,這世上最難降的妖魔是什么嵌巷? 我笑而不...
    開封第一講書人閱讀 56,648評(píng)論 1 284
  • 正文 為了忘掉前任萄凤,我火速辦了婚禮,結(jié)果婚禮上搪哪,老公的妹妹穿的比我還像新娘靡努。我一直安慰自己,他們只是感情好晓折,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,770評(píng)論 6 386
  • 文/花漫 我一把揭開白布惑朦。 她就那樣靜靜地躺著,像睡著了一般漓概。 火紅的嫁衣襯著肌膚如雪漾月。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,950評(píng)論 1 291
  • 那天胃珍,我揣著相機(jī)與錄音梁肿,去河邊找鬼。 笑死觅彰,一個(gè)胖子當(dāng)著我的面吹牛栈雳,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播缔莲,決...
    沈念sama閱讀 39,090評(píng)論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼霉旗!你這毒婦竟也來了痴奏?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,817評(píng)論 0 268
  • 序言:老撾萬榮一對(duì)情侶失蹤厌秒,失蹤者是張志新(化名)和其女友劉穎读拆,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體鸵闪,經(jīng)...
    沈念sama閱讀 44,275評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡檐晕,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,592評(píng)論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了蚌讼。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片辟灰。...
    茶點(diǎn)故事閱讀 38,724評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖篡石,靈堂內(nèi)的尸體忽然破棺而出芥喇,到底是詐尸還是另有隱情,我是刑警寧澤凰萨,帶...
    沈念sama閱讀 34,409評(píng)論 4 333
  • 正文 年R本政府宣布继控,位于F島的核電站械馆,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏武通。R本人自食惡果不足惜霹崎,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,052評(píng)論 3 316
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望冶忱。 院中可真熱鬧尾菇,春花似錦、人聲如沸朗和。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,815評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽眶拉。三九已至千埃,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間忆植,已是汗流浹背放可。 一陣腳步聲響...
    開封第一講書人閱讀 32,043評(píng)論 1 266
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留朝刊,地道東北人耀里。 一個(gè)月前我還...
    沈念sama閱讀 46,503評(píng)論 2 361
  • 正文 我出身青樓,卻偏偏與公主長得像拾氓,于是被迫代替她去往敵國和親冯挎。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,627評(píng)論 2 350

推薦閱讀更多精彩內(nèi)容