nexus 私服的搭建
可以参考
docker pull sonatype/nexus3
docker run -d -p 8081:8081 --name nexus --restart=always -v /root/nexus-data:/var/nexus-data sonatype/nexus3
systemctl stop firewalld
访问 http://ip:8081,Maven私服启动容器稍微比较慢,等待1分钟即可
默认登陆账号 admin、admin123
从浏览器输入对应的网址
创建仓库,点击Create repository
然后选择maven2(hosted)
然后输入仓库名称(my-release)
在version policy中选择这个仓库的类型,这里选择release
在Deployment policy中选择Allow redeploy(这个很重要).
点击左侧菜单栏的Users菜单,然后点击Create local user
我这里创建了一个用户,账号密码是:liuwq、abc1234
点击 create repository,选择
将阿里云的仓库地址粘贴进去。
然后点开,public的仓库组,将阿里仓库的位置排在central仓库的是上面即可。
<mirror> 标签中的<mirrorof> 可以指定repositoryId,从而将mirror和repository联系起来
<?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">
<!--不使用代理,直接使用阿里的镜像源-->
<proxies>
</proxies>
<!--如果需要上传依赖到公司私服,这段代码会派上用场-->
<servers>
<server>
<id>nexus</id>
<username>admin</username>
<password>123456</password>
</server>
</servers>
<!--nexus是私服,aliyun是公共仓库地址-->
<mirrors>
<mirror>
<id>nexus-aliyun</id>
<mirrorOf>central</mirrorOf>
<name>Nexus aliyun</name>
<url>https://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>
<mirror>
<id>nexus</id>
<name>nexus</name>
<mirrorOf>local</mirrorOf>
<url>http://192.168.100.176:8001/repository/maven-public/</url>
</mirror>
</mirrors>
<profiles>
<profile>
<id>aliyun</id>
<repositories>
<repository>
<id>nexus-aliyun</id>
<name>Nexus aliyun</name>
<url>https://maven.aliyun.com/nexus/content/groups/public</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
</profile>
<!--私服中,配置了阿里的代理仓库在中央仓库前面,因此会先去阿里的镜像中寻找依赖包-->
<profile>
<id>nexus</id>
<repositories>
<repository>
<id>local</id>
<url>http://192.168.100.176:8001/nexus/content/groups/public</url>
<releases>
<enabled>true</enabled>
</releases>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>central</id>
<url>http://maven.aliyun.com/nexus/content/groups/public</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</pluginRepository>
</pluginRepositories>
</profile>
</profiles>
<activeProfiles>
<activeProfile>nexus</activeProfile>
</activeProfiles>