Maven配置中repositories、distributionManagement、pluginRepositories用法及將已有jar包部署到私服
1. repositorie 結(jié)構(gòu)說明
repositorie 表示下載項(xiàng)目依賴庫文件的maven倉庫地址
<repositories> <repository> <!-- 倉庫ID --> <id>nexus</id> <!-- 倉庫名稱 --> <name>Nexus</name> <!-- 倉庫地址 --> <url>http://192.168.1.x:xxxx/repository/maven-public/</url> <!-- 倉庫中版本為releases的構(gòu)件 --> <releases> <!-- 是否支持更新--> <enabled>true</enabled> <!-- 構(gòu)件更新的策略,可選值有daily, always, never, interval:X(其中的X是一個(gè)數(shù)字,表示間隔的時(shí)間,單位min),默認(rèn)為daily--> <updatePolicy>always</updatePolicy> <!-- 校驗(yàn)碼異常的策略,可選值有ignore, fail, warn --> <checksumPolicy>warn</checksumPolicy> </releases> <!-- 倉庫版本為snapshots的構(gòu)件--> <snapshots> <!-- 是否支持更新--> <enabled>true</enabled> <!-- 同上 --> <updatePolicy>always</updatePolicy> <!-- 同上 --> <checksumPolicy>warn</checksumPolicy> </snapshots> </repository> </repositories>
如果是公司本地倉庫,而且需要認(rèn)證才能訪問,需要在本地maven的conf\settings.xml文件中添加如下配置內(nèi)容
<servers> <server> <id>nexus</id> <username>admin</username> <password>admin</password> </server> </servers>
2. distributionManagement 結(jié)構(gòu)說明
distributionManagement 表示項(xiàng)目打包成庫文件后要上傳到倉庫地址
<distributionManagement> <!-- 正式版本 --> <repository> <uniqueVersion>false</uniqueVersion> <!-- nexus服務(wù)器中用戶名(settings.xml中<server>的id)--> <id>releases</id> <!-- 自定義名稱 --> <name>Releases Repository</name> <url>http://192.168.1.x:xxxx/repository/maven-releases/</url> <layout>default</layout> </repository> <!-- 快照 --> <snapshotRepository> <uniqueVersion>true</uniqueVersion> <id>snapshots</id> <name>Snapshots Repository</name> <url>http://192.168.1.x:xxxx/repository/maven-snapshots/</url> <layout>legacy</layout> </snapshotRepository> </distributionManagement>
如果是公司本地倉庫,而且需要認(rèn)證才能訪問,也需要在本地maven的conf\settings.xml文件中添加如下配置內(nèi)容(< repository >節(jié)點(diǎn)下的< id >對(duì)應(yīng)setting.xml文件中的server的id)
<servers> <server> <id>releases</id> <username>admin</username> <password>admin</password> </server> <server> <id>snapshots</id> <username>admin</username> <password>admin</password> </server> </servers>
3. pluginRepositories 結(jié)構(gòu)說明
pluginRepositories 表示插件的下載倉庫地址,字段和用法與repositories中的repository基本一致
<pluginRepositories> <pluginRepository> <id>nexus</id> <name>Nexus</name> <url>http://192.168.1.x:xxxx/repository/maven-public/</url> <releases> <enabled>true</enabled> <updatePolicy>always</updatePolicy> <checksumPolicy>warn</checksumPolicy> </releases> <snapshots> <enabled>true</enabled> <updatePolicy>always</updatePolicy> <checksumPolicy>warn</checksumPolicy> </snapshots> </pluginRepository> </pluginRepositories>
4. 常用的maven倉庫命令
上傳本地倉庫
mvn install:install-file -DgroupId=com.xxx -DartifactId=xxx-sdk -Dversion=1.0.0 -Dpackaging=jar -Dfile=xxx-xxx-sdk-1.0.0.jar
參數(shù)說明
- mvn install:install-file
- -DgroupId=上面的groupId
- -DartifactId=上面的artifactId
- -Dversion=上面的version
- -Dpackaging=jar
- -Dfile=jar包的位置
上傳遠(yuǎn)程倉庫
mvn -X deploy:deploy-file -Dmaven.test.skip=true -DgroupId=XXX.XXX -DartifactId=XXX -Dversion=XXX -Dpackaging=jar -Dfile=XXX.jar -DpomFile=pom.xml -Durl=http://用戶名:密碼@遠(yuǎn)程私服倉庫地址
- 阿里云倉庫地址:https://maven.aliyun.com/mvn/guide
- maven中央倉庫地址:https://repo1.maven.org/maven2/
將已有jar包部署到私服
一、環(huán)境準(zhǔn)備
- 本地電腦已安裝maven
- 私服已經(jīng)搭建好
- 私服對(duì)應(yīng)倉庫和賬號(hào)權(quán)限開啟,允許 deploy jar 包上去
二、meven私服連接配置
需要在./conf/setting.xml中配置需要遠(yuǎn)程上傳庫的地址,用戶以及密碼(如果需要認(rèn)證):
<servers> <server> <id>maven-releases</id> <username>zm</username> <password>123456</password> </server> </servers>
三、使用deploy命令上傳
mvn deploy:deploy-file -Dmaven.test.skip=true -Dfile=E:\Work\MyWorkspace\idea\office- pdf-util\src\main\resources\libs\aspose-words-16.8.0-jdk16.jar -DgroupId=aspose-words - DartifactId=aspose-words -Dversion=16.8.0 -Dpackaging=jar -DrepositoryId=maven-releases -Durl=http://192.168.0.167:8081/repository/maven-releases
如果要在命令行臨時(shí)指定setting.xml
mvn deploy:deploy-file --settings C:\Users\Liu\.m2\settings-zhiyi.xml - Dmaven.test.skip=true -Dfile=E:\Work\MyWorkspace\idea\office-pdf- util\src\main\resources\libs\aspose-words-16.8.0-jdk16.jar -DgroupId=aspose-words - DartifactId=aspose-words -Dversion=16.8.0 -Dpackaging=jar -DrepositoryId=maven-releases -Durl=http://192.168.0.167:8081/repository/maven-releases
各參數(shù)代表含義為:
-Dmaven.test.skip=true //跳過編譯、測(cè)試 -Dfile=D:\work\thirdjar\aspose-words-16.8.0.jar //jar包文件地址,絕對(duì)路徑 -DgroupId=pri.roy.mvn.test //gruopId--pom坐標(biāo),自定義 -DartifactId=mvn-api //artifactId--pom坐標(biāo),自定義 -Dversion //版本號(hào),自定義 -Dpackaging //打包方式 -DrepositoryId //遠(yuǎn)程庫ID -Durl //遠(yuǎn)程庫地址
四、結(jié)果截圖如下
該操作常用來解決的問題
- 項(xiàng)目依賴第三方j(luò)ar包,但maven中央倉庫沒有,這時(shí)可以選擇下載后上傳私服
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
如何利用java控制鼠標(biāo)操作一些重復(fù)的事情
這篇文章主要給大家介紹了關(guān)于如何利用java控制鼠標(biāo)操作一些重復(fù)的事情,主要利用的是Robot類,Robot可以模擬鼠標(biāo)和鍵盤的輸入,相當(dāng)于Java版的按鍵精靈,需要的朋友可以參考下2021-12-12Spring Boot 2.4版本前后的分組配置變化及對(duì)多環(huán)境配置結(jié)構(gòu)的影響(推薦)
這篇文章主要介紹了Spring Boot 2.4版本前后的分組配置變化及對(duì)多環(huán)境配置結(jié)構(gòu)的影響,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-12-12Java實(shí)現(xiàn)五子棋(附詳細(xì)源碼)
這篇文章主要為大家詳細(xì)介紹了Java實(shí)現(xiàn)五子棋游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-03-03java的springboot實(shí)現(xiàn)將base64編碼轉(zhuǎn)換pdf
在Spring Boot中,將Base64編碼的字符串轉(zhuǎn)換為PDF文件并導(dǎo)出到客戶端,通常涉及幾個(gè)步驟:首先將Base64字符串解碼為字節(jié)數(shù)組,然后使用這些字節(jié)數(shù)據(jù)來創(chuàng)建PDF文件,并最終通過HTTP響應(yīng)將其發(fā)送給客戶端2024-08-08Java排序之Comparable和Comparator比較器詳解
這篇文章主要介紹了Java排序之Comparable和Comparator比較器詳解,Comparable<T>是內(nèi)部比較器,Comparator<T>是外部比較器,最推薦使用Comparator<T>接口排序,Comparator提供靜態(tài)方法很方便,推薦使用,需要的朋友可以參考下2024-01-01SpringMVC中@Valid不起效BindingResult讀取不到Error信息
在寫SpringMVC項(xiàng)目時(shí),由于要對(duì)表單數(shù)據(jù)進(jìn)行校驗(yàn),需要使用@Valid進(jìn)行校驗(yàn),但是在進(jìn)行數(shù)據(jù)校驗(yàn)時(shí),BindingResult對(duì)象無法攔截非法表單數(shù)據(jù),result.hasErrors()無論怎么輸入都會(huì)返回false,本文詳細(xì)的介紹一下解決方法2021-09-09