[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 小时前
滑动窗口秒解LeetCode字母异位词
java·c语言·开发语言·数据结构·c++·算法·leetcode
计算机学姐2 小时前
基于SpringBoot的智能家教服务平台【2026最新】
java·spring boot·后端·mysql·spring·java-ee·intellij-idea
Gofarlic_oms12 小时前
Cadence许可证全生命周期数据治理方案
java·大数据·运维·开发语言·人工智能·安全·自动化
曹轲恒2 小时前
HashMap基础
java
期待のcode2 小时前
Java String类
java·开发语言
资生算法程序员_畅想家_剑魔2 小时前
Java常见技术分享-17-多线程安全-并发编程的核心问题的解决方案
java·开发语言
p&f°2 小时前
垃圾回收两种算法
java·jvm·算法
myq992 小时前
第三章:Java异常处理
java·开发语言·笔记
靠沿2 小时前
Java数据结构初阶——堆与PriorityQueue
java·开发语言·数据结构