1. 程式人生 > 其它 >jar包傳到Nexus私服中

jar包傳到Nexus私服中

目錄

一.簡介

開發完專案後, 將專案打的jar包依賴,釋出到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.在專案的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>

3.使用IDEA釋出專案 以IDEA為例, 選中專案, 右鍵 -> Run Maven -> deploy 或者在右邊欄選中Maven欄目, 點選專案 -> Lifecycle -> deploy, 執行即可將專案釋出到倉庫中去

4.使用釋出專案
/usr/local/maven/bin/mvn clean deploy -e -U

注意: 倉庫中不能存在與當前專案名稱+版本號相同的專案, 否則將導致出錯: Bad Request: 400

本文版權歸作者所有,歡迎轉載,請務必新增原文連結。