[Maven 基础课程]13_Maven 私服的使用

Maven 项目如何使用 Nexus

在 Maven 项目中使用 Nexus 主要分为两部分:从 Nexus 下载依赖和向 Nexus 发布构件。

从 Nexus 中下载依赖

如果想让 Maven 从 Nexus 中下载依赖,需要让 Maven "认识" Nexus。

配置 Maven 使用 Nexus 作为镜像

为了让 Maven 从 Nexus 下载公共依赖,你需要将 Nexus 配置为 Maven 中央仓库的镜像(Mirror)。这样,所有对中央仓库的请求都会被重定向到你的 Nexus 私服。

打开你的 Maven 配置目录(默认在 ~/.m2/)下的 settings.xml 文件,改为如下配置:

xml 复制代码
<settings>
    <mirrors>
        <mirror>
            <id>nexus-public</id>
            <mirrorOf>*</mirrorOf>
            <url>http://your-nexus-server/repository/maven-public/</url>
        </mirror>
    </mirrors>
</settings>

</servers>
  <server>
    <id>nexus-public</id>
    <username>admin</username>
    <password>123456</password>
  </server>
</servers>

配置详解:

  • : 定义一个镜像仓库。
  • : 镜像的唯一标识,可以任意命名。
  • : 指定要代理哪个仓库。central 指代理 Maven 中央仓库。* 指代理所有外部仓库,包括中央仓库。
  • : 你的 Nexus 私服的公共分组仓库的 URL,这里指定的是 maven-public 分组仓库。

servers 中配置了一个服务器的用户名和密码,这里的 id 和我们 mirror 中的 id 保持一致,表示这个认证信息是专门为 nexus-public 这个镜像仓库配置的。username 和 password 分别配置的是用户名和密码。

通常,Nexus 的公共仓库(maven-public)是匿名可访问的。它是一个聚合仓库,将多个外部仓库(如 Maven Central)的内容聚合在一起,并提供给内部用户,所以不需要配置用户名和密码。

配置完成后,当你执行 mvn clean install 时,Maven 就会自动从你的 Nexus 私服下载依赖。

向 Nexus 发布构件

如果你想将自己的项目发布(deploy)到 Nexus,让团队其他成员使用,你需要进行两步配置。

第一步:在 pom.xml 中配置发布地址。

在你的项目的 pom.xml 文件中,添加 配置,指定构件要发布的仓库地址。

xml 复制代码
<project>
    <distributionManagement>
        <repository>
            <id>nexus-releases</id>
            <url>http://your-nexus-server/repository/maven-releases/</url>
        </repository>
        <snapshotRepository>
            <id>nexus-snapshots</id>
            <url>http://your-nexus-server/repository/maven-snapshots/</url>
        </snapshotRepository>
    </distributionManagement>
</project>

配置详解:

  • : 定义构件的发布管理。
  • : 定义正式发布版本(Release)的仓库地址。
  • : 定义快照版本(Snapshot)的仓库地址。
  • : 这个 id 必须和下一步 settings.xml 中配置的 的 id 一致。

第二步:在 settings.xml 中配置认证信息。

因为向 Nexus 发布构件需要权限(如果 Nexus 你设置了不能匿名访问),所以你需要在 settings.xml 中配置用户名和密码。

这里的 id (Maven 配置文件)要和 distributionManagement (Maven 项目的配置文件)中的 id 对应上。

xml 复制代码
<settings>
    <servers>
        <server>
            <id>nexus-releases</id>
            <username>admin</username>
            <password>123456</password>
        </server>

        <server>
            <id>nexus-snapshots</id>
            <username>admin</username>
            <password>123456</password>
        </server>
    </servers>
</settings>

配置详解:

  • : 定义一个认证服务器。
  • : 必须和 pom.xml 中的 或 的 id 保持一致。
  • 和 : 登录 Nexus 的用户名和密码。

完成以上配置后,你就可以在项目根目录执行以下命令来发布构件了:

xml 复制代码
mvn clean deploy
相关推荐
怒放吧德德2 小时前
后端 Mock 实战:Spring Boot 3 实现入站 & 出站接口模拟
java·后端·设计
biyezuopinvip3 小时前
基于Spring Boot的企业网盘的设计与实现(任务书)
java·spring boot·后端·vue·ssm·任务书·企业网盘的设计与实现
脸大是真的好~3 小时前
EasyExcel的使用
java·excel
小宋10213 小时前
Java 项目结构 vs Python 项目结构:如何快速搭一个可跑项目
java·开发语言·python
JavaGuide3 小时前
一款悄然崛起的国产规则引擎,让业务编排效率提升 10 倍!
java·spring boot
吃虫子的人3 小时前
记录使用Arthas修改线上源码重新加载的一次过程
java·arthas
figo10tf4 小时前
Spring Boot项目集成Redisson 原始依赖与 Spring Boot Starter 的流程
java·spring boot·后端
zhangyi_viva4 小时前
Spring Boot(七):Swagger 接口文档
java·spring boot·后端
橙露4 小时前
Spring Boot 核心原理:自动配置机制与自定义 Starter 开发
java·数据库·spring boot