天天看點

Maven釋出項目 (jar包) 到Nexus私服中

如何通過Maven向Nexus私服中釋出項目? 需要配置哪些檔案? 釋出步驟有哪些? 這篇文章涉及到的步驟都親測可用, 希望能解決你的問題:-)

目錄

  • 1 需求說明
  • 2 實作步驟
    • 2.1 Maven服務的setting.xml檔案
    • 2.2 項目的pom.xml檔案
    • 2.3 釋出項目
  • 版權聲明

開發完項目後, 将項目版本釋出到Nexus私服中.

(1) 如果本機安裝了Maven服務, 可在

${MAVEN_HOME}/conf/setting.xml

中指定私服相關的配置:

<!-- 在servers标簽下配置server, 包括: 私服的使用者名和密碼, 在deploy項目時需要用到 -->
    <server>
        <id>releases</id>
        <username>admin</username>
        <password>admin123</password>
    </server>
    <server>
        <id>snapshots</id>
        <username>admin</username>
        <password>admin123</password>
    </server>

    <!-- 在profiles标簽下配置profile, 包括: 私服所配的倉庫、各個插件的倉庫位址 -->
    <profile>
      <!-- profile的id -->
      <id>dev</id>
      <repositories>
        <repository>
          <!-- 倉庫id, Repositories可以配置多個倉庫, 要確定id不重複 -->
          <id>nexus</id>
          <!-- 倉庫位址, 即nexus倉庫組的位址 -->
          <url>http://ip:port/nexus/content/groups/public/</url>
          <!-- 是否下載下傳Releases構件 -->
          <releases>
            <enabled>true</enabled>
          </releases>
          <!-- 是否下載下傳Snapshots構件 -->
          <snapshots>
            <enabled>true</enabled>
          </snapshots>
        </repository>
      </repositories>

      <pluginRepositories>
        <!-- 插件倉庫, Maven的運作依賴插件, 也需要從私服下載下傳插件 -->
        <pluginRepository>
          <!-- 插件倉庫的id不允許重複, 如果重複, 後配置的優先 -->
          <id>public</id>
          <name>Public Repositories</name>
          <url>http://ip:port/nexus/content/groups/public/</url>
        </pluginRepository>
      </pluginRepositories>
    </profile>
    
    <!-- 還需指定聯網倉庫, 保證本私服中沒有相關jar包或插件時可聯網擷取 -->
    <profile>
      <id>internet</id>
      <repositories>
        <repository>
          <id>nexus-aliyun</id>
          <name>Nexus aliyun</name>
          <layout>default</layout>
          <!-- 這裡配置阿裡雲的倉庫 -->
          <url>http://maven.aliyun.com/nexus/content/groups/public</url>
          <snapshots>
            <enabled>false</enabled>
          </snapshots>
          <releases>
            <enabled>true</enabled>
          </releases>
        </repository>
      </repositories>
    </profile>
           

(2) 如果本機沒有安裝Maven服務, 可在IDEA或Eclipse等開發環境預設使用的Maven配置中修改, 修改内容同上.

在項目的

pom.xml

中的一級标簽project下添加如下内容:

<!-- 釋出選項: id必須與setting.xml檔案中server的id相同 -->
    <distributionManagement>
        <repository>
            <id>releases</id>
            <name>display</name>
            <url>http://ip:port/nexus/content/repositories/releases/</url>
        </repository>
        <snapshotRepository>
            <id>snapshots</id>
            <name>display</name>
            <url>http://ip:port/nexus/content/repositories/snapshots/</url>
        </snapshotRepository>
    </distributionManagement>
           

以IDEA為例, 選中項目,

右鍵 -> Run Maven -> deploy

,

或者在右邊欄選中Maven欄目,

點選項目 -> Lifecycle -> deploy

, 執行即可将項目釋出到倉庫中去.

注意: 倉庫中不能存在與目前項目名稱+版本号相同的項目, 否則将導緻出錯:

Bad Request: 400

.

作者: 馬瘦風

出處: 部落格園 馬瘦風的部落格

感謝閱讀, 如果文章有幫助或啟發到你, 點個[好文要頂👆] 或 [推薦👍] 吧😜

本文版權歸部落客所有, 歡迎轉載, 但 [必須在文章頁面明顯位置給出原文連結], 否則部落客保留追究相關人員法律責任的權利.