nexus的仓库类型
仓库类型分为以下四种:
- group:仓库组
- hosted:宿主
- proxy:代理
- virtual:虚拟
仓库组
外部使用时,直接使用仓库组对外。
如: http://[私服IP]:8082/nexus/content/groups/public/
注意仓库组的顺序,一般先公司内部,然后第三方,然后中央仓库等。
- Releases: 用来部署管理公司内部的发布版本构件的宿主类型仓库
- Snapshots: 用来部署管理公司内部的快照版本构件的宿主类型仓库
- 3rd party: 无法从公共仓库获得的第三方发布版本的构件仓库(短信SDK等)
- Central: 用来代理maven中央仓库中发布版本构件的仓库
最佳使用:
.m2下的settings.xml配置
<?xml version="1.0" encoding="UTF-8"?>
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0
http://maven.apache.org/xsd/settings-1.0.0.xsd">
<localRepository>/Users/jeikerxiao/.m2/repository</localRepository>
<servers>
<!-- 私服仓库账号和密码,用于部署使用 -->
<server>
<id>nexus-releases</id>
<username>admin</username>
<password>admin123</password>
</server>
<server>
<id>nexus-snapshots</id>
<username>admin</username>
<password>admin123</password>
</server>
</servers>
<!-- 所有请求远程仓库都走私服 -->
<mirrors>
<mirror>
<id>nexus-releases</id>
<mirrorOf>*</mirrorOf>
<url>http://[私服IP]:8082/nexus/content/groups/public</url>
</mirror>
<mirror>
<id>nexus-snapshots</id>
<mirrorOf>*</mirrorOf>
<url>http://[私服IP]:8082/nexus/content/repositories/snapshots</url>
</mirror>
</mirrors>
<profiles>
<profile>
<id>nexus</id>
<repositories>
<repository>
<id>nexus-releases</id>
<url>http://nexus-releases</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
<repository>
<id>nexus-snapshots</id>
<url>http://nexus-snapshots</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>nexus-releases</id>
<url>http://nexus-releases</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</pluginRepository>
<pluginRepository>
<id>nexus-snapshots</id>
<url>http://nexus-snapshots</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</pluginRepository>
</pluginRepositories>
</profile>
</profiles>
<activeProfiles>
<activeProfile>nexus</activeProfile>
</activeProfiles>
</settings>
maven项目的pom.xml配置
<distributionManagement>
<!-- 两个ID必须与 setting.xml中的<server><id>nexus-releases</id></server>保持一致-->
<repository>
<id>nexus-releases</id>
<name>Nexus Release Repository</name>
<url>http://[私服IP]:8082/nexus/content/repositories/releases</url>
</repository>
<snapshotRepository>
<id>nexus-snapshots</id>
<name>Nexus Snapshot Repository</name>
<url>http://[私服IP]:8082/nexus/content/repositories/snapshots</url>
</snapshotRepository>
</distributionManagement>