Nexus 私服之三“Maven 与 Nexus 协同工作”
1. Maven 从 Nexus 下载构件
a) 对当前 Maven 项目(项目 pom.xml)
<repositories> <repository> <id>nexus</id> <name>Nexus</name> <url>http://localhost:8888/nexus/content/repositories/releases/</url> <releases> <enabled>true</enabled> </releases> <snapshots> <enabled>true</enabled> </snapshots> </repository> </repositories> <pluginRepositories> <pluginRepository> <id>nexus</id> <name>Nexus</name> <url>http://localhost:8888/nexus/content/repositories/releases/</url> <releases> <enabled>true</enabled> </releases> <snapshots> <enabled>true</enabled> </snapshots> </pluginRepository> </pluginRepositories>
b) 对所有 Maven 项目(全局 settings.xml)
<profiles> <profile> <id>nexus</id> <repositories> <repository> <id>nexus</id> <name>Nexus</name> <url>http://localhost:8888/nexus/content/repositories/releases/</url> <releases> <enabled>true</enabled> </releases> <snapshots> <enabled>true</enabled> </snapshots> </repository> </repositories> <pluginRepositories> <pluginRepository> <id>nexus</id> <name>Nexus</name> <url>http://localhost:8888/nexus/content/repositories/releases/</url> <releases> <enabled>true</enabled> </releases> <snapshots> <enabled>true</enabled> </snapshots> </pluginRepository> </pluginRepositories> </profile> </profiles> <activeProfiles> <activeProfile>nexus</activeProfile> </activeProfiles>
i. activeProfile
这个元素将 nexus 这个 profile 激活。
ii. 缺点
虽然所有 Maven 项目都是从 Nexus 下载构件,但是会发现 Maven 除了从Nexus 下载构件外,
还会不时低访问中央仓库 central,我们希望的是所有Maven 下载请求都仅仅通过 Nexus,
才能全面发挥私服的作用。
c) 配置镜像让 Maven 只使用私服
可以创建一个匹配任何仓库的镜像,镜像的地址为私服,这样,
Maven 对任何仓库的构件下载请求都会转到私服中。
<mirrors> <mirror> <id>nexus</id> <mirrorOf>*</mirrorOf> <url>http://localhost:8888/nexus/content/groups/public/</url> </mirror> </mirrors> <profiles> <profile> <id>nexus</id> <repositories> <repository> <id>central</id> <url>http://central</url> <release> <enabled>true</enabled> </release> <snapshots> <enabled>true</enabled> </snapshots> </repository> </repositories> <pluginRepositories> <pluginRepository> <id>central</id> <url>http://central</url> <release> <enabled>true</enabled> </release> <snapshots> <enabled>true</enabled> </snapshots> </pluginRepository> </pluginRepositories> </profile> </profiles> <activeProfiles> <activeProfile>nexus</activeProfile> </activeProfiles>
i. 解释
仓库及插件仓库配置,它们的 id 都为 central,相当于覆盖了超级 pom 中央仓库的配置,
它们的 url 已经无关紧要了,因为所有请求都会通过镜像访问私服地址。
2. 部署构件至 Nexus
如果只为代理外部公共仓库,那么 Nexus 的代理仓库就已经能够完全满足需要了。
对于另一类 Nexus 仓库“宿主仓库”来说,它们的主要作用是存储组织内部的,或者一
些无法从公共仓库中获得的第三方构件,供大家使用。
a) Maven 部署构件至 nexus
日常开发生成的快照版本构件可以直接部署到Nexus 中策略为 Snapshot 的宿主仓库中,
项目正式发布版本构件应该部署到 Nexus 中策略为 Release 的宿主仓库中。
i. pom.xml 配置
<distributionManagement> <repository> <id>nexus-releases</id> <name>Nexus Releases Repository</name> <url>http://localhost:8888/nexus/content/repositories/releases/</url> </repository> <snapshotRepository> <id>nexus-snapshots</id> <name>Nexus Snapshots Repository</name> <url>http://localhost:8888/nexus/content/repositories/snapshots/</url> </snapshotRepository> </distributionManagement>
ii. settings.xml 配置(用户名密码是你的登录名和密码)
<servers> <server> <id>nexus-releases</id> <username>lichee</username> <password>lichee323</password> </server> <server> <id>nexus-snapshots</id> <username>lichee</username> <password>lichee323</password> </server> </servers>
b) 手动部署第三方构件至 nexus
Repositories 3rd party Artifact Upload
i. GAV Definition
如果构件是通过 Maven 构建的,那么可以在这个下拉列表中选择 From POM,
否则就选 GAV Parameters(需要用户为该构件定义一个 Maven 坐标)。
ii. Select Artifact(s) to Upload
此按钮从本机选择要上传的构件,然后单击 Add Artifact 按钮将其加入到上传列表中。
Nexus 允许用户一次上传一个主构件和多个附属构件(即 Classifier)。最后,
单击 Upload Artifact(s)按钮将构件上传到仓库中。
(尽可能的把所有配置都给出来了,不过程序员就是懒,那来个更懒的办法,
如有需要请下载附件settings.zip,修改里面用户名、密码、仓库地址,
还有你的Nexus私服地址,替换掉你自己的settings.xml即可。)
相关推荐
Maven Nexus 私服搭建 从零开始,资源下载、安装指导、开发配置说明
Nexus 搭建 Maven 私服 + Maven 安装步骤 Nexus 是一个功能强大且灵活的仓库管理工具,能够帮助开发团队更好地管理项目依赖项和构件。通过搭建 Nexus 私服,可以实现项目依赖项的集中管理、加速项目构建和部署、...
### Windows 下 Nexus 搭建 Maven 私服详解 #### 一、为什么使用 Nexus 在软件开发过程中,尤其是采用 Maven 构建管理的项目中,依赖管理是非常关键的一环。通常,开发人员需要从 Maven 中央仓库下载各种依赖库到...
Nexus是一个强大的Maven仓库管理器,它极大地简化了自己内部仓库的维护和外部仓库的访问。利用Nexus,你可以只在一个地方就能完全控制访问和部署在你所维护仓库中的每个Artifact。Nexus是一套“开箱即用”的系统不...
总结,Nexus3 是一个强大且灵活的 Maven 私服解决方案,虽然在使用过程中可能会遇到各种问题,但通过了解其工作原理和配置细节,我们完全可以克服这些困难,充分利用它来优化软件开发流程。在日常开发中,不断学习和...
使用Nexus搭建Maven私服 标题:使用Nexus搭建Maven私服 描述:关于使用Nexus搭建Maven私服的开发文档。 标签:Nexus 搭建Maven 在实际的企业开发中经常会遇到的问题:在进行Maven项目开发时,所需要的构件都是...
nexus 搭建 maven仓库nexus 搭建 maven仓库nexus 搭建 maven仓库nexus 搭建 maven仓库nexus 搭建 maven仓库
本文详细介绍了在CentOS环境下使用Nexus搭建Maven私库的整个过程,包括环境准备、软件安装、配置调整、启动与访问等多个环节。通过这些步骤,可以帮助开发者有效地管理项目依赖,提高开发效率。此外,还提供了一些...
Maven Nexus 私服构件示例是一个实用的教程,旨在帮助开发者理解如何在本地环境中搭建和使用Nexus作为Maven的私有仓库。这个示例包括一个父Maven项目以及多个子项目,这些子项目涵盖了不同的模块,如业务逻辑、持久...
**Nexus Maven 私服搭建详解** 在软件开发过程中,Maven 是一款广泛使用的构建工具,它通过依赖管理简化了项目构建。然而,随着项目的增多,依赖库的规模也会不断增大,直接使用中央仓库可能会导致下载速度慢、网络...
【 Maven Nexus 本地私服详解】 Maven Nexus 是一个强大的仓库管理器,由 Sonatype 公司开发,用于管理和代理 Maven 库。它不仅能够作为 Maven 项目的本地仓库,还可以作为一个中心点来代理远程仓库,缓存依赖,...
maven私服搭建-nexus的部署 Maven 私服是指在局域网或 Intranet 中搭建的 Maven 仓库,用于存储和管理项目依赖的 Jar 包。Nexus 是一个流行的 Maven 私服解决方案,提供了强大的仓库管理功能。 在本文中,我们将...
本教程将指导您在Linux环境下,利用Nexus 3.14和Maven 3.6.3快速搭建Maven私服。 首先,我们来看看所需的主要组件: 1. **Nexus 3.14**:这是Sonatype公司提供的开源仓库管理工具,它可以作为Maven私服,支持多种...
Maven与Maven私服** Maven是Apache软件基金会开发的一款项目管理和集成工具,它通过POM(Project Object Model)文件来管理项目的构建、报告和文档。Maven的核心功能之一就是自动解决项目依赖,通过访问Maven中央...
Nexus 私服是一种流行的 Maven 仓库管理工具,广泛应用于企业级软件开发中。下面是一步步搭建 Nexus 私服的详细教程。 第一步:下载 Nexus 安装文件 首先,需要下载 Nexus 的安装文件,可以从 Sonatype 官方网站...