引言
在Windows 10系统中搭建Maven私有库,主要涉及安装 Nexus 并进行相应配置。以下是具体步骤和方法的总结。
一、Nexus是什么?
Nexus是Sonatype公司发布的一款功能强大的仓库管理软件,常被用来搭建Maven私服,因此也有人将其称为'Maven仓库管理器'。由于私服具有降低中央仓库负荷、节省外网带宽、提高项目稳定性等优点,因此在实际开发过程中得到了广泛应用。
Nexus分为开源版和专业版,其中开源版足以满足大部分个人和小型团队的需求,而专业版则提供了更多的企业级特性。作为一个强大的软件仓库,Nexus可以用来存储、共享和分发各种软件组件,如Java包、Ruby gems、Node.js包等,并且支持与Docker等容器技术的集成,提供企业级的安全性和可扩展性。因此,它被广泛用于企业级开发团队中,帮助他们更好地管理、共享和分发软件组件。此外,通过代理外部仓库、缓存构建和部署第三方构件等功能,Nexus可以显著提高开发团队的工作效率。
二、下载并安装Nexus
- 下载地址 :
-
下载完成后,解压文件到D盘(例如:D:\Nexus),解压文件 nexus-3.71.0-06-win64.zip
-
打开
命令提示符
或PowerShell
,进入Nexus的bin目录
(例如:D:\Nexus\nexus-3.37.0-02-win64\bin)。 -
运行
nexus.exe /run
启动Nexus服务。
- 现如下界面表明启动成功,默认端口为8081:
如果需要修改端口号,可在配置文件(nexus-default.properties)中修改
- 访问Nexus Web界面:
通过浏览器访问http://localhost:8081/nexus
,默认用户名和密码为admin和admin123
3.7 版本密码在文件夹 ...\nexus-3.71.0-06-win64\sonatype-work\nexus3\admin.password 文件中
三、 创建Maven仓库
- 在Nexus Web界面中,点击左侧的"Repositories"。
- 点击"Create Repository",选择"Maven2"作为仓库类型。
仓库 Type 类型说明:
仓库类型 | 说明 |
---|---|
proxy | 某个远程仓库的代理 |
group | 存放:通过 Nexus 获取的第三方 jar 包 |
hosted | 存放:本团队其他开发人员部署到 Nexus 的 jar 包 |
默认仓库说明:
仓库名称 | 说明 |
---|---|
maven-central | Nexus 对 Maven 中央仓库的代理,Nexus 可以配置代理仓库来代理 Maven 中央仓库,缓存从中央仓库获取的构件,加速本地访问速度 。 |
maven-public | Nexus 默认创建,供开发人员下载使用的组仓库 ,public 仓库组通常用于聚合所有存储策略为 Release 的仓库,提供一个统一的服务地址。这样,Maven 客户端可以更方便地从这个统一地址获取所需的构件,无论是来自代理仓库还是宿主仓库 。 |
maven-releasse | Nexus 默认创建,供开发人员部署自己 jar 包的宿主仓库,要求 releasse 版本 |
maven-snapshots | Nexus 默认创建,供开发人员部署自己 jar 包的宿主仓库,要求 snapshots 版本 |
- 配置以下信息:
- Repository ID:例如my-maven-repo。
- Name:例如My Maven Repository。
- URL:例如http://localhost:8081/repository/my-maven-repo/。
- Policy:选择Release或Snapshot,根据需要配置。
- 点击"Create"创建仓库。
四、配置Maven项目
1. 打开Maven项目的pom.xml文件。
2. 添加以下仓库配置:
xml
<repositories>
<repository>
<id>my-maven-repo</id>
<url>http://localhost:8081/repository/my-maven-repo/</url>
</repository>
</repositories>
3. 打开Maven的settings.xml文件。
添加以下仓库和认证配置:
xml
<servers>
<server>
<id>my-maven-repo</id>
<username>admin</username>
<password>你的Nexus密码</password>
</server>
</servers>
在mirrors节点下新增一个mirror节点,内容如下:
xml
<mirror>
<id>nexus</id>
<mirrorOf>*</mirrorOf>
<url>http://localhost:8081/nexus/content/groups/public/</url>
</mirror>
五、部署Maven项目到Nexus
在Maven项目的根目录下打开命令提示符或PowerShell。
运行以下命令部署项目到Nexus:
bash
mvn clean deploy -DaltDeploymentRepository=my-maven-repo::default::http://localhost:8081/repository/my-maven-repo/