將第三方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 |