Maven Nexus配置和使用
阿新 • • 發佈:2019-02-04
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/</
- 專案使用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檢視