maven的pom.xml中repositories和distributionManagement使用
repositories 遠(yuǎn)程倉(cāng)庫(kù)配置
在maven中pom.xml是Maven進(jìn)行工作的主要配置文件
它的作用包括:配置Maven項(xiàng)目中需要使用的遠(yuǎn)程倉(cāng)庫(kù),Maven項(xiàng)目的資源依賴(lài)關(guān)系等。
其中pom是Project Object Model(項(xiàng)目對(duì)象模型)的簡(jiǎn)稱(chēng)。
在pom.xml中repositories標(biāo)簽的作用是用來(lái)配置maven項(xiàng)目的遠(yuǎn)程倉(cāng)庫(kù)。
示例如下:
<repository> <id>nexus</id><!--遠(yuǎn)程倉(cāng)庫(kù)唯一標(biāo)識(shí)符 --> <name>Private Repository</name><!--描述 --> <url><!--遠(yuǎn)程倉(cāng)庫(kù)url --></url> <layout>default</layout> <releases> <enabled>true</enabled> </releases> <snapshots> <enabled>true</enabled> <updatePolicy>always</updatePolicy> </snapshots> </repository>
我們先看一下的配置,你可以在它下面添加多個(gè) ,每個(gè)都有它唯一的ID,一個(gè)描述性的name,以及最重要的,遠(yuǎn)程倉(cāng)庫(kù)的url。
此外,true告訴Maven可以從這個(gè)倉(cāng)庫(kù)下載releases版本的構(gòu)件,而false告訴Maven不要從這個(gè)倉(cāng)庫(kù)下載snapshot版本的構(gòu)件。
禁止從公共倉(cāng)庫(kù)下載snapshot構(gòu)件是推薦的做法,因?yàn)檫@些構(gòu)件不穩(wěn)定,且不受你控制,你應(yīng)該避免使用。
當(dāng)然,如果你想使用局域網(wǎng)內(nèi)組織內(nèi)部的倉(cāng)庫(kù),你可以激活snapshot的支持
layout:用于定位和排序構(gòu)件的倉(cāng)庫(kù)布局類(lèi)型-可以是default(默認(rèn))或者legacy(遺留)。
Maven 2為其倉(cāng)庫(kù)提供了一個(gè)默認(rèn)的布局;然而,Maven 1.x有一種不同的布局。
我們可以使用該元素指定布局是default(默認(rèn))還是legacy(遺留)。
distributionManagement 分發(fā)構(gòu)件到遠(yuǎn)程倉(cāng)庫(kù)
mvn install 會(huì)將項(xiàng)目生成的構(gòu)件安裝到本地Maven倉(cāng)庫(kù),mvn deploy 用來(lái)將項(xiàng)目生成的構(gòu)件分發(fā)到遠(yuǎn)程Maven倉(cāng)庫(kù)。
本地Maven倉(cāng)庫(kù)的構(gòu)件只能供當(dāng)前用戶(hù)使用,在分發(fā)到遠(yuǎn)程Maven倉(cāng)庫(kù)之后,所有能訪問(wèn)該倉(cāng)庫(kù)的用戶(hù)都能使用你的構(gòu)件。
我們需要配置POM的來(lái)指定Maven分發(fā)構(gòu)件的位置,
如下:
<!-- 定義snapshots庫(kù)和releases庫(kù)的nexus地址 --> <distributionManagement> <repository> <!-- 庫(kù)的id --> <id>nexus-releases</id> <!-- 庫(kù)的url --> <url>https://172.17.103.59:8081/nexus/content/repositories/releases/</url> </repository> <snapshotRepository> <id>nexus-snapshots</id> <url>https://172.17.103.59:8081/nexus/content/repositories/snapshots/</url> </snapshotRepository> </distributionManagement>
如果是快照版本,執(zhí)行mvn deploy時(shí)會(huì)自動(dòng)發(fā)布到快照版本庫(kù)中。
而使用快照版本的模塊,在不更改版本號(hào)的情況下,直接編譯打包時(shí),maven會(huì)自動(dòng)從鏡像服務(wù)器上下載最新的快照版本。
如果是正式發(fā)布版本,那么在執(zhí)行mvn deploy時(shí)會(huì)自動(dòng)發(fā)布到正式版本庫(kù)中,而使用正式版本的模塊。
在不更改版本號(hào)的情況下,編譯打包時(shí),如果本地已經(jīng)存在該版本的模塊則使用本地的而不是主動(dòng)去鏡像服務(wù)器上下載。
需要注意的是,settings.xml中server元素下id的值必須與POM中repository或snapshotRepository下id的值完全一致。
將認(rèn)證信息放到settings下而非POM中,是因?yàn)镻OM往往是它人可見(jiàn)的,而settings.xml是本地的。
代碼如下:
<settings> ... <servers> <server> <id>nexus-releases</id> <username>admin</username> <password>admin123</password> </server> <server> <id>nexus-snapshots</id> <username>admin</username> <password>admin123</password> </server> </servers> ... </settings>
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
RestTemplat中關(guān)于getForobject方法的使用
這篇文章主要介紹了RestTemplat中關(guān)于getForobject方法的使用方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-07-07springboot3.X 無(wú)法解析parameter參數(shù)問(wèn)題分析
本文介紹了Spring Boot 3.2.1版本中調(diào)用接口時(shí)出現(xiàn)的參數(shù)解析問(wèn)題,該錯(cuò)誤是由Spring新版本加強(qiáng)的錯(cuò)誤校驗(yàn)和報(bào)錯(cuò)提示導(dǎo)致的,在Spring 6.1之后,官方要求URL中的傳參必須使用`@PathVariable`聲明用于接收的變量,而不能省略`@RequestParam`注解,感興趣的朋友一起看看吧2025-03-03java判斷用戶(hù)輸入的是否至少含有N位小數(shù)的實(shí)例
下面小編就為大家分享一篇java判斷用戶(hù)輸入的是否至少含有N位小數(shù)的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2017-12-12javaweb如何實(shí)現(xiàn)請(qǐng)求和響應(yīng)
這篇文章主要為大家詳細(xì)介紹了javaweb如何實(shí)現(xiàn)請(qǐng)求和響應(yīng),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-10-10重學(xué)SpringBoot3之如何發(fā)送Email郵件功能
這篇文章主要給大家介紹了重學(xué)SpringBoot3之如何發(fā)送Email郵件功能的相關(guān)資料,文中包括環(huán)境準(zhǔn)備、項(xiàng)目配置、代碼實(shí)現(xiàn)、最佳實(shí)踐和安全性建議,通過(guò)采用異步發(fā)送、重試機(jī)制、限流等最佳實(shí)踐,可以構(gòu)建一個(gè)健壯的郵件發(fā)送系統(tǒng),需要的朋友可以參考下2024-11-11Spring?Boot使用線程池處理上萬(wàn)條數(shù)據(jù)插入功能
這篇文章主要介紹了Spring?Boot使用線程池處理上萬(wàn)條數(shù)據(jù)插入功能,使用步驟是先創(chuàng)建一個(gè)線程池的配置,讓Spring Boot加載,用來(lái)定義如何創(chuàng)建一個(gè)ThreadPoolTaskExecutor,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友參考下吧2022-08-08java swing實(shí)現(xiàn)的掃雷游戲及改進(jìn)版完整示例
這篇文章主要介紹了java swing實(shí)現(xiàn)的掃雷游戲及改進(jìn)版,結(jié)合完整實(shí)例形式對(duì)比分析了java使用swing框架實(shí)現(xiàn)掃雷游戲功能與相關(guān)操作技巧,需要的朋友可以參考下2017-12-12詳解Spring學(xué)習(xí)總結(jié)——Spring實(shí)現(xiàn)AOP的多種方式
這篇文章主要介紹了詳解Spring學(xué)習(xí)總結(jié)——Spring實(shí)現(xiàn)AOP的多種方式,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-01-01Jpa 實(shí)現(xiàn)自動(dòng)更新表中的創(chuàng)建日期和修改時(shí)間
這篇文章主要介紹了Jpa 實(shí)現(xiàn)自動(dòng)更新表中的創(chuàng)建日期和修改時(shí)間,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-01-01