Maven 配置学习:存在两个本地私服如何配置

Maven 配置学习:存在两个本地私服如何配置

目录

  • [Maven 配置学习:存在两个本地私服如何配置](#Maven 配置学习:存在两个本地私服如何配置)

如果需要配置两个私服和一个公共仓库,并使 IntelliJ IDEA 可以按照指定顺序尝试下载依赖,可以在 Maven 的 settings.xml 文件中进行配置。下面是一个包含两个私有仓库和一个公共仓库(阿里云公共仓库)的配置示例:

xml 复制代码
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0
                              https://maven.apache.org/xsd/settings-1.0.0.xsd">

  <!-- 本地仓库位置 -->
  <localRepository>D:/m2_repo</localRepository>

  <profiles>
    <profile>
      <id>custom-repositories</id>
      <repositories>
        <!-- 私有仓库 1 -->
        <repository>
          <id>private-repo-1</id>
          <url>http://192.168.0.203:8000/nexus/content/groups/public/</url>
          <releases>
            <enabled>true</enabled>
          </releases>
          <snapshots>
            <enabled>true</enabled>
            <updatePolicy>always</updatePolicy>
          </snapshots>
        </repository>

        <!-- 私有仓库 2 -->
        <repository>
          <id>private-repo-2</id>
          <url>http://192.168.0.66:8089/nexus/content/groups/public/</url>
          <releases>
            <enabled>true</enabled>
          </releases>
          <snapshots>
            <enabled>true</enabled>
            <updatePolicy>always</updatePolicy>
          </snapshots>
        </repository>

        <!-- 阿里云公共仓库 -->
        <repository>
          <id>aliyun</id>
          <url>https://maven.aliyun.com/repository/public</url>
          <releases>
            <enabled>true</enabled>
          </releases>
          <snapshots>
            <enabled>true</enabled>
            <updatePolicy>always</updatePolicy>
          </snapshots>
        </repository>
      </repositories>
    </profile>
  </profiles>

  <activeProfiles>
    <!-- 启用配置的自定义仓库 -->
    <activeProfile>custom-repositories</activeProfile>
  </activeProfiles>
</settings>

解释:

1.本地仓库位置:

  • <localRepository>D:/m2_repo</localRepository>:指定 Maven 使用 D:/m2_repo 作为本地仓库路径。

2.Profiles 定义:

  • 定义了一个 custom-repositories profile,包含了所有需要的仓库:
    • 私有仓库 1(192.168.0.203)
    • 私有仓库 2(192.168.0.66)
    • 阿里云公共仓库

3.Repositories 定义顺序:

  • Maven 会按照定义的顺序依次尝试从这些仓库下载依赖。因此,这个配置确保了 Maven 在下载依赖时会先尝试两个私有仓库,然后再尝试阿里云公共仓库。

4.Active Profiles:

  • <activeProfiles> 块中启用了 custom-repositories profile,使得 Maven 在构建过程中使用这些仓库。

操作步骤:

  • 1.将上述配置添加到 Maven 的 settings.xml 文件中。该文件通常位于用户主目录下的 .m2 目录中(例如:C:\Users\YourUsername.m2\settings.xml 或 ~/.m2/settings.xml)。

  • 2.根据需要修改 settings.xml 文件中的仓库 URL 和本地仓库路径。

  • 3.确保 标签包含 custom-repositories 以启用自定义的仓库配置。

  • 4.保存修改后的 settings.xml 文件。

通过这种方式,IntelliJ IDEA 将会遵循定义的顺序,依次尝试从两个私有仓库和阿里云公共仓库下载依赖。这样可以确保系统在不同的仓库中查找所需的依赖,避免因为某个仓库中缺少依赖而导致构建失败。

Maven官方文档


👑 天下英雄出我辈,一入江湖岁月催 我是热爱生活的「 无间行者 」,努力把实践过的解决方案分享给大家 如果这篇文章对你有用,一键三连,感谢你的鼓励,让我知道你在看


相关推荐
花间相见3 分钟前
【Java基础面试题】—— 核心知识点面试题(含答案):语法+集合+JVM+设计模式+算法
java·jvm·设计模式
名字不相符6 分钟前
2026年3月27日NSSCTF之[SWPU 2019]漂流记的马里奥
学习·ctf·萌新
会飞De琥珀9 分钟前
java工具类,字符串转时间
java·开发语言
小羊羔heihei22 分钟前
Python列表操作全攻略
经验分享·笔记·python·学习·其他·交友
曹牧32 分钟前
JSON 数组的正确使用方式
java·服务器·前端
LINgZone232 分钟前
深入解析:Cglib与JDK动态代理的实现原理、区别及性能对比
java·开发语言
华科易迅40 分钟前
Spring JDBC
java·后端·spring
云烟成雨TD1 小时前
Spring AI 1.x 系列【17】函数型工具开发与使用
java·人工智能·spring
weixin_409383121 小时前
godot碰撞测试的学习
学习·游戏引擎·godot
云烟成雨TD1 小时前
Spring AI 1.x 系列【15】AI Agent 基石:Tool Calling 标准与 Spring AI 集成
java·人工智能·spring