Maven 私服 Nexus 的部署及项目应用

Posted by 彭楷淳 on 2021-01-12
Estimated Reading Time 2 Minutes
Words 583 In Total
Viewed Times

Nexus 简介


Nexus 是一个强大的依赖仓库管理器,极大地简化了内部仓库的维护和外部仓库的访问。

2016 年 4 月 6 日 Nexus 3.0 版本发布,相较 2.x 版本 有了很大的改变:

  • 对低层代码进行了大规模重构,提升性能,增加可扩展性以及改善用户体验。
  • 升级界面,极大的简化了用户界面的操作和管理
  • 提供新的安装包,让部署更加简单
  • 提供新的管理接口,以及增强对自动任务的管理

部署 Nexus


使用 Docker Compose 编排部署应用容器。服务器地址:192.168.1.100

创建 docker-compose.yml

1
2
3
4
5
6
7
8
9
10
version: '3.1'
services:
nexus:
restart: always
image: sonatype/nexus3
container_name: nexus
ports:
- 8081:8081
volumes:
- /usr/local/docker/nexus/data:/nexus-data

启动容器

1
$ docker-compose up -d

如果出现权限问题需要赋予数据卷目录可读可写的权限

1
$ chmod 777 /usr/local/docker/nexus/data

登录访问 Nexus 页面


访问地址:http://192.168.1.100:8081

初始账号:admin

初始密码:在 /usr/local/docker/nexus/data/admin.password 文件中查看。

file

Maven 中配置 Nexus 认证信息

修改 Maven 安装目录 conf 中的 settings.xml,在 servers 节点下配置 Nexus 私库的账号密码:

1
2
3
4
5
6
7
8
9
10
11
<server>
<id>nexus-releases</id>
<username>admin</username>
<password>admin123</password>
</server>

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

项目中配置 Nexus


在 Maven 项目中的 pom.xml 配置 Nexus 代理仓库

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<repositories>
<repository>
<id>nexus</id>
<name>Nexus Repository</name>
<url>http://192.168.1.100/repository/maven-public/</url>
<snapshots>
<enabled>true</enabled>
</snapshots>
<releases>
<enabled>true</enabled>
</releases>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>nexus</id>
<name>Nexus Plugin Repository</name>
<url>http://192.168.1.100/repository/maven-public/</url>
<snapshots>
<enabled>true</enabled>
</snapshots>
<releases>
<enabled>true</enabled>
</releases>
</pluginRepository>
</pluginRepositories>

更新 Maven 配置,项目就可以从 Nexus 私服中拉取依赖了。

同样,也可以将打包好的项目部署到 Nexus 私服中:

1
$ mvn deploy

更多干货请移步:https://antoniopeng.com


If you like this blog or find it useful for you, you are welcome to comment on it. You are also welcome to share this blog, so that more people can participate in it. If the images used in the blog infringe your copyright, please contact the author to delete them. Thank you !