- 一、简介
- 二、 Nexus 安装
- 2.1 系统要求
- 2.2 Nexus 安装步骤
- 2.2.1 下载 Nexus Repository Manager
- 2.2.2 安装与配置
- 三、Nexus 基本配置
- 3.1 初次登录与管理界面介绍
- 3.2 创建用户和角色
- 3.2.1 建议角色
- 3.2.2 建议用户
- 3.2.3 禁用匿名访问
- 四、 创建 Maven 仓库
- 4.1 创建 Releases 和 Snapshots 仓库
- 1)点击 Repositories,选择 Create repository
- 2)选择 Maven2 (hosted),创建发布版本仓库:
- 3)创建 Snapshots 仓库,注意选择 Version policy 为 Snapshot。
- 4)同样方式创建 阿里云代理(proxy) 仓库。
- 5)创建中央和阿里等仓库没有的 thirdparty 仓库,注意选择 Version policy 为 Release。
- 6)最后,创建一个 Group 仓库,用于将多个仓库(如 Snapshots、Releases、以及其他远程仓库)整合在一起
- 4.2 [可选]配置 Blob Store 和 Cleanup 策略
- 五. 上传与管理依赖包
- 5.1 手动上传依赖包
- 5.2 使用 Maven 命令行上传
- 六. Maven 项目依赖配置
- 6.1 配置 Maven settings.xml
一、简介
Sonatype Nexus Repository Manager
是一款强大的仓库管理工具,用于存储、管理和发布软件组件。它能够支持多种格式的仓库,如 Maven、npm、Docker 等。在企业开发中,私有 Maven 仓库常用于存储自定义依赖和发布组件,确保代码安全性和内部共享。
本文将从服务器环境搭建、Nexus 安装与配置、仓库创建、依赖上传,再到 Maven 项目中使用私有仓库的全过程,帮助你掌握如何高效管理 Maven 依赖。
二、 Nexus 安装
2.1 系统要求
操作系统:Linux 或 Windows(推荐使用 Linux,如 CentOS、Ubuntu)
Java JDK:Nexus 需要 Java JDK 8 以上版本支持(推荐 JDK 17)。
硬件需求:至少 4GB 内存,50GB 硬盘空间,取决于你要管理的包的数量。
2.2 Nexus 安装步骤
下面介绍linux Centos 下的安装,其他类似
2.2.1 下载 Nexus Repository Manager
前往 Sonatype Nexus 官网 下载最新版的 Nexus Repository Manager:
wget http://download.sonatype.com/nexus/3/latest-unix.tar.gz
2.2.2 安装与配置
解压安装包:
tar -zxvf latest-unix.tar.gz
进入解压目录,启动 Nexus:
注意把 <version> 替换 实际版本号
cd nexus-<version>
./bin/nexus start
设定 Nexus 为系统服务,以便服务器启动时自动启动:
ln -s /path/to/nexus-<version>/bin/nexus /etc/init.d/nexus
浏览器访问 http://<服务器IP>:8081,默认端口是 8081。初次登录使用默认管理员账户:
用户名:admin
密 码:admin123(第一次登录后系统会强制要求更改密码)
新版本会有个文件存放初始化的密码
三、Nexus 基本配置
3.1 初次登录与管理界面介绍
进入 Nexus 后,会看到以下几个重要的模块(不同版本功能菜单位置可能不同):
Repositories(仓库):管理各种格式的仓库,包括 Blob Store(存储)、仓库清理策略配置等功能。
Security(安全设置):管理用户、角色和权限。
System(系统设置):配置 Nexus 服务器的高级设置,包括定时任务、允许管理员配置和管理系统功能,从而扩展和优化 Nexus 的使用体验等功能。
3.2 创建用户和角色
在 Nexus 界面,选择 Security
> Users
,可以添加新用户。
可以设置不同角色的权限,如管理员、开发者等。
通过配置不同角色,可以控制哪些用户可以上传或下载依赖,确保仓库安全。
iform 平台建议 用户和角色,可以根据实际来
3.2.1 建议角色
anke-role
上传/下载依赖的角色
## 授权一下菜单权限
nx-repository-view-*-*-*
nx-repository-view-*-*-add
nx-repository-view-*-*-browse
nx-repository-view-*-*-delete
nx-repository-view-*-*-edit
nx-repository-view-*-*-read
3.2.2 建议用户
anke-nexus
授权anke-role
角色给它
3.2.3 禁用匿名访问
使用人少的话可以
不禁用
四、 创建 Maven 仓库
4.1 创建 Releases 和 Snapshots 仓库
Nexus 提供了多种仓库格式,本次主要配置Maven
仓库,区分发布版(Releases)
和快照版(Snapshots)
。
1)点击 Repositories,选择 Create repository
2)选择 Maven2 (hosted),创建发布版本仓库:
如果仓库有就不需要建了
Repository ID:maven-releases
Version policy:Release
Deployment policy:Disable redeploy
Blob store: default
3)创建 Snapshots 仓库,注意选择 Version policy 为 Snapshot。
如果仓库有就不需要建了
Repository ID:maven-snapshots
Version policy:snapshots
Deployment policy:Allow redeploy
Blob store: default
4)同样方式创建 阿里云代理(proxy) 仓库。
1、Aliware-edas
name: Aliware-edas
type:proxy
url:http://maven.ankepower.com/repository/Aliware-edas/
Version policy:Release
Layout policy:Permissive
Remote Storage: http://edas-public.oss-cn-hangzhou.aliyuncs.com/repository/
2、aliyun-public
name: aliyun-public
type:proxy
url:http://maven.ankepower.com/repository/aliyun-public/
Version policy:Release
Layout policy:Permissive
Remote Storage: http://maven.aliyun.com/nexus/content/groups/public/
5)创建中央和阿里等仓库没有的 thirdparty 仓库,注意选择 Version policy 为 Release。
该仓库是中央和阿里等仓库没有的 thirdparty 仓库,比如达梦数据库驱动(dm.jdbc)
6)最后,创建一个 Group 仓库,用于将多个仓库(如 Snapshots、Releases、以及其他远程仓库)整合在一起
4.2 [可选]配置 Blob Store 和 Cleanup 策略
1)Blob Store 用于存储上传到 Nexus 的组件。可以配置多个 Blob Store 来管理不同类型的数据,减少存储开销。
2)设置 Cleanup 策略,定期清理不再需要的快照版本,节省存储空间。
五. 上传与管理依赖包
5.1 手动上传依赖包
- 登录 Nexus 后,选择 Browse server contents,点击Upload,选择创建的 Releases 仓库。
- 填写上传的坐标信息(groupId、artifactId、version 等)并选择相应的文件进行上传。
- 点击 Upload 完成上传操作。
PS:这里主要上传中央仓库和阿里云仓库没有的jar包
5.2 使用 Maven 命令行上传
选看:平台已经配置好相关的配置
Maven 提供了上传依赖的命令行工具,通过配置项目的 pom.xml 文件,可以直接上传到 Nexus 仓库。
在 pom.xml 中配置 distributionManagement:
<distributionManagement>
<repository>
<id>nexus-releases</id>
<url>http://<服务器IP>:8081/repository/maven-releases/</url>
</repository>
<snapshotRepository>
<id>nexus-snapshots</id>
<url>http://<服务器IP>:8081/repository/maven-snapshots/</url>
</snapshotRepository>
</distributionManagement>
使用以下命令将组件上传到 Nexus:
mvn deploy
六. Maven 项目依赖配置
6.1 配置 Maven settings.xml
为了让 Maven 优先使用配置的私有仓库,可以在 settings.xml 中添加私有仓库的配置[该setting.xml文件]
maven依赖加载顺序:
优先从nexus 的maven-public仓库组中获取依赖,maven-public中仓库依赖加载顺序为:maven-public -> maven-releases
nexus maven public仓库组中找不到依赖情况下,从阿里云仓库加载。
最后编辑:hugh 更新时间:2025-01-23 13:52