1.在Docker上安装仓库
1.1.安装仓库
在Docker的Kitematic上搜索nexus3
下载上图中的镜像
2.配置仓库
默认账号密码为: admin/admin123
在首页点击齿轮图标进入设置页面
在设置也点击左侧仓库选项卡
2.1.添加仓库
如果已经有了这四个仓库 就ok如果没有 需要手动添加
maven-central 类型为proxy 是一个代理仓库,代理了maven中央仓库
maven-release 类型为hosted 是本地仓库, 本地上传的发布版本的项目放置在该仓库中
maven-snapshots 类型为hosted 本地仓库, 本地上传的快照版本的项目放置的位置
maven-public 类型为group 改仓库包含里以上三个仓库, 外部只要访问该仓库 就能使用上面三个仓库的内容
2.2.配置阿里代理
为了加快对maven中央仓库的访问速度, 可以给maven-central仓库添加阿里的代理
3.配置本地maven使用私服仓库
3.1.添加镜像
setting.xml 配置
<mirrors>
<mirror>
<id>nexus</id>
<mirrorOf>*</mirrorOf>
<name>Nexus aliyun</name>
<url>http://192.168.100.48:32771/repository/maven-public/</url>
</mirror>
</mirrors>
添加maven镜像, <mirrorOf>中* 表示将所有maven仓库都使用镜像进行代理
url指向私服中的包含中心仓库的分组的地址
3.2.添加配置, 并激活配置
setting.xml 配置
<profiles>
<profile>
<id>nexus</id>
<repositories>
<repository>
<id>central</id>
<name>Nexus</name>
<url>http://192.168.100.48:32771/repository/maven-public/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
<updatePolicy>always</updatePolicy>
</snapshots>
</repository>
</repositories>
</profile>
</profiles>
<activeProfiles>
<activeProfile>nexus</activeProfile>
</activeProfiles>
添加一个profile,并在activeProfiles中将它设置为激活
对于指定的仓库,启用它的release和snapshots, 并将快照版本的<updatePolicy>设置为always 表示每次都拉取最新的快照(也可以根据需求配置成固定时间拉取一次最新版本, 或者不使用快照版本)
4.将项目发布到maven仓库中
4.1.需要在maven的配置文件setting.xml中添加如下配置
setting.xml 配置
<servers>
<server>
<id>releases</id>
<username>admin</username>
<password>admin123</password>
</server>
<server>
<id>snapshots</id>
<username>admin</username>
<password>admin123</password>
</server>
</servers>
这里配置两个server的目的是记录用户名,密码.其中<id>需要在下面的配置文件中引用
4.2.需要在maven项目的pom.xml文件中添加如下配置
pom.xml 配置
<distributionManagement>
<repository>
<id>releases</id>
<url>http://192.168.100.48:32771/repository/maven-releases/</url>
</repository>
<snapshotRepository>
<id>snapshots</id>
<url>http://192.168.100.48:32771/repository/maven-snapshots/</url>
</snapshotRepository>
</distributionManagement>
repository和snapshotRepository分别对应普通版本的发布和快照版本的发布
这里的两个<id>分别对应上面setting.xml文件中的server下的<id>