1. 程式人生 > >Maven Nexus配置和使用

Maven Nexus配置和使用

Nexus安裝

Nexus簡單說明

  •  用途:指定私服的中央地址、將自己的Maven專案指定到私服地址、從私服下載中央庫的專案索引、從私服倉庫下載依賴元件、將第三方專案jar上傳到私服供其他專案組使用
  •    倉庫:

      hosted   型別的倉庫,內部專案的釋出倉庫 

      releases 內部的模組中release模組的釋出倉庫

      snapshots 釋出內部的SNAPSHOT模組的倉庫  

      3rd party 第三方依賴的倉庫,這個資料通常是由內部人員自行下載之後釋出上去 

      proxy   型別的倉庫,從遠端中央倉庫中尋找資料的倉庫

      group   型別的倉庫,組倉庫用來方便我們開發人員進行設定的倉庫

      

Nexus配置

  nexus配置大部分使用預設配置即可,主要是配置一個專案索引

  選擇Central倉庫,設定Download Remote Indexes:True

  

Nexus使用

  •   專案使用nexus私服的jar包,在專案的pom.xml檔案中指定私服倉庫 複製程式碼
     1 <repositories>
     2     <repository>
     3         <id>nexus</id>
     4         <name>nexus</name>
     5         <url>http://192.168.1.103:8081/nexus/content/groups/public/</
    url> 6 <releases> 7 <enabled>true</enabled> 8 </releases> 9 <snapshots> 10 <enabled>true</enabled> 11 </snapshots> 12 </repository> 13 </repositories>
    複製程式碼
  •   專案使用nexus私服的外掛,在專案的pom.xml檔案中指定外掛倉庫 複製程式碼
     1 <pluginRepositories>
     2     <pluginRepository>
     3         <id>nexus</id>
     4         <name>nexus</name>
     5         <url>http://192.168.1.103:8081/nexus/content/groups/public/</url>
     6         <releases>
     7             <enabled>true</enabled>
     8         </releases>
     9         <snapshots>
    10             <enabled>true</enabled>
    11         </snapshots>
    12     </pluginRepository>
    13 </pluginRepositories>
    複製程式碼
  •   如果想本機所有的maven專案都使用私服的元件,可以在maven的設定檔案settings.xml中新增屬性,並激活 複製程式碼
     1 <profiles>
     2     <profile>
     3         <id>nexusProfile</id>
     4         <repositories>
     5             <repository>
     6                 <id>nexus</id>
     7                 <name>nexus</name>
     8                 <url>http://192.168.1.103:8081/nexus/content/groups/public/</url>
     9                 <releases>
    10                     <enabled>true</enabled>
    11                 </releases>
    12                 <snapshots>
    13                     <enabled>true</enabled>
    14                 </snapshots>
    15             </repository>
    16         </repositories>
    17     </profile>
    18 </profiles>
    19 <!-- 啟用 -->
    20 <activeProfiles>
    21     <activeProfile>nexusProfile</activeProfile>
    22 </activeProfiles>
    複製程式碼
  •  專案釋出到私服,maven專案使用命令:mvn clean deploy;需要在pom檔案中配置一下程式碼; 複製程式碼
     1 <distributionManagement>
     2         <repository>
     3             <id>user-release</id>
     4             <name>User Project Release</name>
     5             <url>http://192.168.1.103:8081/nexus/content/repositories/releases/</url>
     6         </repository>
     7 
     8         <snapshotRepository>
     9             <id>user-snapshots</id>
    10             <name>User Project SNAPSHOTS</name>
    11             <url>http://192.168.1.103:8081/nexus/content/repositories/snapshots/</url>
    12         </snapshotRepository>
    13     </distributionManagement>
    複製程式碼

    注意還需要配置mvn釋出的許可權,否則會報401錯誤,在settings.xml中配置許可權,其中id要與pom檔案中的id一致

    複製程式碼
     1 <server>
     2     <id>user-release</id>
     3     <username>admin</username>
     4     <password>admin123</password>
     5 </server>
     6 <server>
     7     <id>user-snapshots</id>
     8     <username>admin</username>
     9     <password>admin123</password>
    10 </server>
    複製程式碼

    釋出成功後,可以在nexus中看到

    

  •   上傳第三方的jar包,選擇3rd party-->Artifact Upload--> 選擇GAV方式-->填好構建引數-->增加jar包-->上傳,在Browse Storeage檢視