Maven配置中repositories、distributionManagement、pluginRepositories用法及將已有jar包部署到私服
1. repositorie 結(jié)構(gòu)說明
repositorie 表示下載項目依賴庫文件的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是一個數(shù)字,表示間隔的時間,單位min),默認(rèn)為daily--> <updatePolicy>always</updatePolicy> <!-- 校驗碼異常的策略,可選值有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 表示項目打包成庫文件后要上傳到倉庫地址
<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é)點下的< id >對應(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包的位置
上傳遠程倉庫
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://用戶名:密碼@遠程私服倉庫地址
- 阿里云倉庫地址:https://maven.aliyun.com/mvn/guide
- maven中央倉庫地址:https://repo1.maven.org/maven2/
將已有jar包部署到私服
一、環(huán)境準(zhǔn)備
- 本地電腦已安裝maven
- 私服已經(jīng)搭建好
- 私服對應(yīng)倉庫和賬號權(quán)限開啟,允許 deploy jar 包上去
二、meven私服連接配置
需要在./conf/setting.xml中配置需要遠程上傳庫的地址,用戶以及密碼(如果需要認(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
如果要在命令行臨時指定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 //跳過編譯、測試 -Dfile=D:\work\thirdjar\aspose-words-16.8.0.jar //jar包文件地址,絕對路徑 -DgroupId=pri.roy.mvn.test //gruopId--pom坐標(biāo),自定義 -DartifactId=mvn-api //artifactId--pom坐標(biāo),自定義 -Dversion //版本號,自定義 -Dpackaging //打包方式 -DrepositoryId //遠程庫ID -Durl //遠程庫地址
四、結(jié)果截圖如下
該操作常用來解決的問題
- 項目依賴第三方j(luò)ar包,但maven中央倉庫沒有,這時可以選擇下載后上傳私服
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(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版本前后的分組配置變化及對多環(huán)境配置結(jié)構(gòu)的影響(推薦)
這篇文章主要介紹了Spring Boot 2.4版本前后的分組配置變化及對多環(huán)境配置結(jié)構(gòu)的影響,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-12-12java的springboot實現(xiàn)將base64編碼轉(zhuǎn)換pdf
在Spring Boot中,將Base64編碼的字符串轉(zhuǎn)換為PDF文件并導(dǎo)出到客戶端,通常涉及幾個步驟:首先將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項目時,由于要對表單數(shù)據(jù)進行校驗,需要使用@Valid進行校驗,但是在進行數(shù)據(jù)校驗時,BindingResult對象無法攔截非法表單數(shù)據(jù),result.hasErrors()無論怎么輸入都會返回false,本文詳細(xì)的介紹一下解決方法2021-09-09