將第三方Jar包上傳到nexus倉庫中

將第三方Jar包上傳到nexus倉庫中

來自專欄 AirData大數據平台團隊

工作上有很多第三方系統的jar包,需要在項目中用到,使用外部依賴需要添加插件使用起

來很不方便,於是想上傳到自己搭建的nexus倉庫中,使用時可以直接從倉庫中拉取

首先需要搭建一個nexus倉庫,這段不再詳細介紹,想要了解如何搭建的可以去如何搭建Git和Maven私服看看

接下來我們需要在nexus中創建一個maven庫

選擇maven2(hosted),這裡的Repository的type屬性有:proxy,hosted,group三種

proxy:即你可以設置代理,設置了代理之後,在你的nexus中找不到的依賴就會去配置的代理的地址中找

hosted:你可以上傳你自己的項目到這裡面

group:它可以包含前面兩個,是一個聚合體。一般用來給客戶一個訪問nexus的統一地址。

簡單的說,就是你可以上傳私有的項目到hosted,以及配置proxy以獲取第三方的依賴(比如可以配置中央倉庫的地址)。前面兩個都弄好了之後,再通過group聚合給客戶提供統一的訪問地址。

接下來進入這個頁面

我們需要為這個庫命名,我命名的為3rdPart,然後選擇上傳artifact的類型,這裡選擇mixed,Release和Snapshot兩種類型都允許上傳到這個庫

接下來庫建好之後,我們需要修改本地maven庫的配置文件setting.xml,需要添加如下屬性

<servers> <server> <id>3rdPart</id> <username>admin</username> <password>nexus123</password> </server> </servers>

這裡的id可以隨便取名,等於這個server的key

接下來我們就可以將第三方jar包上傳到建好的庫中了

我這裡寫了一個shell,來上傳jar

export INIT_PATH="dirpath"function ergodic(){ for file in ` ls $1` do if [ -d $1"/"$file ] then ergodic $1"/"$file else mvn deploy:deploy-file -DgroupId=yourGroupId -DartifactId=$file -Dversion=1.0.0 -Dpackaging=jar -Dfile=$1"/"$file -Durl=yourRepositoryUrl -DrepositoryId=3rdPart fi done}ergodic $INIT_PATH

上面這個腳本對你所指定的文件夾下的所有文件執行maven命令,需要自己進行修改的參數有

  • INIT_PATH:你的三方jar包存放的文件夾
  • DgroupId:你的三方jar在maven中依賴時使用的groupId
  • Durl:你創建的存放jar包的nexus倉庫的url
  • DrepositoryID:你之前添加的server標籤下id的值

然後運行上面這段shell,就可以自動幫你把你存放三方jar包文件夾下的所有jar包都上傳到nexus倉庫

如果你只有一到兩個三方jar,你也可以直接執行maven命令

mvn deploy:deploy-file -DgroupId=com.xxx -DartifactId=xxxxxx -Dversion=xxxx -Dpackaging=jar -Dfile=filepath -Durl=yourRepositoryUrl -DrepositoryId=3rdPart

也可以直接將jar上傳到你創建的maven庫中


推薦閱讀:

已確定谷歌明年2月攜帶中國版Googleplay重返大陸,那麼谷歌nexus系列手機會不會開放購買?
Nexus 6作為真正的谷歌旗艦,為何最大亮度只有其他旗艦的一半,後蓋縫隙也很大?
小米4手機、1+手機和nexus5手機應該買哪個?
如何看待Nexus 6P 後台運行華為服務?
除開系統區別不談,Nexus 10 對比 iPad 有哪些優劣?

TAG:GoogleNexus | 科技 | 信息技術IT |