欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Maven pom的distributionManagement配置方式

 更新時間:2025年01月22日 09:36:20   作者:碼靈  
文章主要介紹了Maven的distributionManagement配置方式,以及它的作用、配置方法和重要性,distributionManagement用于指定構件的發(fā)布位置,包括下載URL、狀態(tài)等,文章還詳細解釋了如何配置repository和snapshotRepository,以及它們的用途和區(qū)別

Maven pom的distributionManagement配置方式

distributionManagement的作用是"分發(fā)構件至遠程倉庫"。

mvn install 會將項目生成的構件安裝到本地Maven倉庫,mvn deploy 用來將項目生成的構件分發(fā)到遠程Maven倉庫。

本地Maven倉庫的構件只能供當前用戶使用,在分發(fā)到遠程Maven倉庫之后,所有能訪問該倉庫的用戶都能使用你的構件。

我們需要配置POM的distributionManagement來指定Maven分發(fā)構件的位置。

<distributionManagement>的作用:負責管理構件的發(fā)布。這是一個環(huán)境變量。

1.構件的發(fā)布

Maven項目的POM中,環(huán)境配置<distributionManagement>負責管理構件的發(fā)布。

<distributionManagement> 
  ... 
  <downloadUrl>http://jcat.ericsson.org/my-project</downloadUrl> 
  <status>deployed</status>  
</distributionManagement>

<downloadUrl> URL </downloadUrl> 其它的Maven項目可以通過該URL下載并引用當前Maven項目的構件。

<status> 當前Maven項目的狀態(tài)。

可用的狀態(tài)有以下幾種:

  • none:未指明狀態(tài),默認值
  • converted:該Maven項目的構件已經(jīng)被轉換為兼容Maven 2
  • partner:該Maven項目的構件保持與另一個庫的Maven版本一致
  • deployed:該Maven項目的構件是通過Maven 2或Maven 3發(fā)布的,最常用的值
  • verified:該Maven項目的構件已經(jīng)被驗證過

2.推送倉庫設置(常用)

2.1 <distributionManagement>中的<repository> <snapshotRepository>

<distributionManagement> 

  <repository> 
    <uniqueVersion>false</uniqueVersion> 
    <id>corp1</id> 
    <name>Corporate Repository</name> 
    <url>scp://repo/maven2</url> 
    <layout>default</layout> 
  </repository> 

  <snapshotRepository> 
    <uniqueVersion>true</uniqueVersion> 
    <id>propSnap</id> 
    <name>Propellors Snapshots</name> 
    <url>sftp://propellers.net/maven</url> 
    <layout>legacy</layout> 
  </snapshotRepository> 
  ... 

</distributionManagement>
  • <uniqueVersion>指定是否產(chǎn)生一個唯一性的version number還是使用address里的其中version部分.(true or false)
  • <id> 庫的id
  • <name> 庫的名稱
  • <url> 庫的url
  • <layout> default或者legacy

2.2 <distributionManagement> 中的 <repository> 和 <snapshotsrepository>各自的含義

maven倉庫分為兩種 release發(fā)布倉庫(<repository>) 和 snapshot快照倉庫(<snapshotsrepository>)。

  • snapshot快照倉庫用于保存開發(fā)過程中的不穩(wěn)定版本。
  • release正式倉庫用來保存穩(wěn)定的發(fā)行版本。

定義一個組件/模塊為快照版本 只需要在pom文件中的該模板的版本號后面加上 -SNAPSHOT就可以了。 注意:必須是大寫。

maven會根據(jù)模塊的版本號(pom文件中的<version>版本號</version>)中是否帶有-SNAPSHOT來判斷這個是快照版本還是正式版本。

如果是快照版本:

  • 在mvn deploy時會自動發(fā)布到快照版本庫中。
  • 而使用快照版本的模塊,在不更改版本號的情況下,直接編譯打包時,maven會自動從鏡像服務器上下載最新的快照版本。

如果是正式發(fā)布版本:

  • 那么在mvn deploy時會自動發(fā)布到正式版本庫中。
  • 而使用正式版本的模塊,在不更改版本號的情況下,編譯打包時,如果本地已經(jīng)存在該版本的模塊則使用本地的而不是主動去鏡像服務器上下載。

3.部署網(wǎng)站和文檔

<distributionManagement>的<site>配置,除了部署當前Maven項目的構件,還可以部署當前Maven項目的網(wǎng)站和文檔。

示例如下:

<distributionManagement> 

  ... 
  <site> 
    <id>mojo.website</id> 
    <name>Mojo Website</name> 
    <url>scp://beaver.codehaus.org/home/projects/mojo/public_html/</url> 
  </site> 
  ... 

</distributionManagement>

4.重命名構件

隨著一個Maven項目的發(fā)展壯大,該Maven項目的構件可能需要重新發(fā)布到新的庫。

<relocation>可以將當前Maven項目以新的構件的形式發(fā)布到另一個庫。

<distributionManagement> 

  ... 
  <relocation> 
    <groupId>org.apache</groupId> 
    <artifactId>my-project</artifactId> 
    <version>1.0</version> 
    <message>We have moved the Project under Apache</message> 
  </relocation> 
  ... 

</distributionManagement>

總結

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • Java繼承的問題引導和測試代碼

    Java繼承的問題引導和測試代碼

    這篇文章主要介紹了Java繼承的問題引導和測試代碼,涉及繼承的概念,合成的語法等相關內容,具有一定借鑒價值,需要的朋友可以參考下。
    2021-08-08
  • 解析Java中的默認方法

    解析Java中的默認方法

    這篇文章主要介紹了Java中的默認方法,包括繼承和調用等Java入門學習中的基礎知識,需要的朋友可以參考下
    2015-07-07
  • Java 如何讀取Excel格式xls、xlsx數(shù)據(jù)工具類

    Java 如何讀取Excel格式xls、xlsx數(shù)據(jù)工具類

    這篇文章主要介紹了Java 如何讀取Excel格式xls、xlsx數(shù)據(jù)工具類的操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-09-09
  • 解決feign微服務間的文件上傳報錯問題

    解決feign微服務間的文件上傳報錯問題

    這篇文章主要介紹了解決feign微服務間的文件上傳報錯問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-06-06
  • 詳談spring中bean注入無效和new創(chuàng)建對象的區(qū)別

    詳談spring中bean注入無效和new創(chuàng)建對象的區(qū)別

    這篇文章主要介紹了spring中bean注入無效和new創(chuàng)建對象的區(qū)別,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-02-02
  • 淺析如何在SpringBoot中實現(xiàn)數(shù)據(jù)脫敏

    淺析如何在SpringBoot中實現(xiàn)數(shù)據(jù)脫敏

    脫敏是指在不改變原數(shù)據(jù)結構的前提下,通過某種方式處理數(shù)據(jù),使數(shù)據(jù)不能直接暴露用戶的真實信息,下面我們就來看看SpringBoot中實現(xiàn)數(shù)據(jù)脫敏的具體方法吧
    2024-03-03
  • 劍指Offer之Java算法習題精講數(shù)組與字符和等差數(shù)列

    劍指Offer之Java算法習題精講數(shù)組與字符和等差數(shù)列

    跟著思路走,之后從簡單題入手,反復去看,做過之后可能會忘記,之后再做一次,記不住就反復做,反復尋求思路和規(guī)律,慢慢積累就會發(fā)現(xiàn)質的變化
    2022-03-03
  • Java面向對象之包裝類的用途與實際使用

    Java面向對象之包裝類的用途與實際使用

    所謂包裝類,就是能夠直接將簡單類型的變量表示為一個類,在執(zhí)行變量類型的相互轉換時,我們會大量使用這些包裝類,本文我們來深入探索一下Java包裝類的相關內容,需要的朋友可以參考下
    2022-03-03
  • Spring Boot對Future模式的支持詳解

    Spring Boot對Future模式的支持詳解

    這篇文章主要給大家介紹了關于Spring Boot對Future模式的支持的相關資料,文中通過示例代碼介紹的非常詳細,對大家學習或者使用spring boot具有一定的參考學習價值,需要的朋友們下面來一起看看吧
    2019-01-01
  • Java中減少if-else的幾種方式

    Java中減少if-else的幾種方式

    if判斷語句是很多編程語言的重要組成部分,但是,若我們最終編寫了大量嵌套的if語句,這將使得我們的代碼更加復雜和難以維護,本文主要介紹了Java中減少if-else的幾種方式,具有一定的參考價值,感興趣的可以了解一下
    2024-01-01

最新評論