搭建maven私有仓库nexus

部署

1
2
3
4
5
6
7
8
9
services:
nexus3:
image: sonatype/nexus3
container_name: nexus3
restart: always
ports:
- "8081:8081"
volumes:
- ./data:/nexus-data

初始密码在 /admin.password, 需要进入容器查看.

Repository相关信息

  1. maven-central:maven中央库,默认从https://repo1.maven.org/maven2/拉取jar包
  2. maven-releases:保存jar包的releases版本
  3. maven-snapshots:保存jar包的snapshot版本
  4. maven-public:仓库总组,这里已经默认把上面3个仓库加进来一起对外提供服务了。如果有自己建的仓库,例如上图我自己建的aliyun仓库也要加进了这里才有用。
  5. aliyun-maven:自己建的,从阿里云maven库http://maven.aliyun.com/nexus/content/groups/public拉取jar包

maven-releases 上传自己的打包, 需要选中可以重复上传, Allow redeploy.

配置maven

配置本地的maven的setting.xml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<servers>
<server>
<id>maven-nexus</id>
<username>admin</username>
<password>admin123</password>
</server>

<server>
<id>release-nexus</id>
<username>admin</username>
<password>admin123</password>
</server>

<server>
<id>snapshot-nexus</id>
<username>admin</username>
<password>admin123</password>
</server>
</servers>

项目中的pom.xml

配置包下载配置 server.idsetting.xml的要保持一致.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<repositories>
<repository>
<id>maven-nexus</id>
<name>aliyun nexus</name>
<url>http://192.168.1.51:8081/repository/maven-public</url>
<releases>
<enabled>true</enabled>
</releases>
</repository>
</repositories>

<pluginRepositories>
<pluginRepository>
<id>maven-nexus</id>
<name>aliyun nexus</name>
<url>http://192.168.1.51:8081/repository/maven-public/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</pluginRepository>
</pluginRepositories>

上传包配置server.idsetting.xml的要保持一致.

1
2
3
4
5
6
7
8
9
10
11
12
<distributionManagement>
<repository>
<id>release-nexus</id>
<url>http://192.168.1.51:8081/repository/maven-releases/</url>
<name>nexus-release</name>
</repository>
<snapshotRepository>
<id>snapshot-nexus</id>
<url>http://192.168.1.51:8081/repository/maven-snapshots/</url>
<name>maven-snapshots</name>
</snapshotRepository>
</distributionManagement>

上传

  1. package命令完成了项目编译、单元测试、打包功能

  2. install命令完成了项目编译、单元测试、打包功能,同时把打好的可执行jar包(war包或其它形式的包)布署到本地maven仓库

  3. deploy命令完成了项目编译、单元测试、打包功能,同时把打好的可执行jar包(war包或其它形式的包)布署到本地maven仓库和远程maven私服仓库


搭建maven私有仓库nexus
https://zhaops-hub.github.io/2025/11/11/java/搭建maven私有仓库nexus/
作者
赵培胜
发布于
2025年11月11日
许可协议