Maven常用操作:上傳jar包

前言

如果項目是以jar包的形式使用,普通的工具類或者springboot的可執行包,都需要上傳到遠程倉庫保存共享。

使用Maven上傳

Maven中提供了<distributionManagement>標籤,可以非常方便上傳.

一個簡單的示例:

  <distributionManagement>
    <snapshotRepository>
      <id>swb</id>
      <url>http://repo.cnswb.com/repository/maven-snapshots/</url>
    </snapshotRepository>
  </distributionManagement>

這裏配置了一個snapshotRepository,就是開發中使用最多的快照倉庫.

使用mvn deploy命令即可實現快照版上傳.

這裏的上傳可能會受到限制,比如遠程倉庫設置了不允許匿名操作,那可能就會出現權限錯誤,此時需要在全局設置中配置server用戶名密碼信息,它們通過id一一對應.這裏idswb,那麼在需要登錄信息時,就會在servers中找到對應的idswbserver信息(包含用戶名密碼)來鑑權.

distributionManagement

倉庫配置

除了snapshotRepository,還有個repository與之對應,也就是發佈版.

它和snapshotRepository的子標籤完全一樣.

上例中只是展示了關鍵標籤,其完整信息是:

        <snapshotRepository>
            <id>swb-snapshot</id>
            <name>swb-snapshot</name>
            <layout>default</layout>
            <uniqueVersion>true</uniqueVersion>
            <url>http://repo.cnswb.com/repository/maven-snapshots/</url>
        </snapshotRepository>

規則

如果只配置了一個倉庫,那麼此工程的版本號命名必須遵循:

  • 如果是snapshotRepository,版本號必須是以-SNAPSHOT結尾
  • 如果是repository,版本號必須不是-SNAPSHOT結尾

如果兩種倉庫都配置了,那麼會根據版本號選擇合適的倉庫上傳.這是最爲合乎情理的方式.

deploy
是否是快照版:
以-SNAPSHOT結尾
snapshotRepository
repository
是否鑑權
上傳
鑑權成功
結束
報錯

其他配置

relocation

不常用,因爲很多人根本不會去看這個.

這是一個純展示的標籤,不會對本工程的deploy造成影響,只是用來告訴開發者本工程座標的調整信息:

        <relocation>
            <groupId>org.example</groupId>
            <artifactId>hello_maven</artifactId>
            <version>1.1-SNAPSHOT</version>
            <message>原hello_maven已廢棄,請使用</message>
        </relocation>

downloadUrl

項目下載頁面的網址。 如果未提供,則會將用戶轉到url提供的主頁。 這樣做是爲了幫助查找由於許可限制而不在存儲庫中的工件。

<downloadUrl>http://${another_repository_host}</downloadUrl>

site

部署項目網站所需的信息。

        <site>
            <id>${id}</id>
            <name>${name}</name>
            <url>http://${host}</url>
        </site>

status

不要人爲在本地配置!!!上傳時MAVEN自動接管,雖然看不見效果在哪

表示在遠程存儲庫中提供此工件的狀態,它會通過將其防止在存儲庫中的工具進行更新,因此不要在本地配置.

它是一個枚舉項:

  • none: 默認
  • converted: 存儲庫從Maven 1 POM轉換此值
  • partner: 從合作伙伴Maven 2存儲庫直接同步
  • deployed: 已從Maven 2實例部署
  • verified: 已手工處理,驗證爲正確且最終的

參考

  1. mermaid
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章