Maven 配置多仓库

举报
SHQ5785 发表于 2023/11/13 08:59:38 2023/11/13
【摘要】 一、前言maven的中央仓库很强大,绝大多数的jar都收录了。但也有未被收录的。遇到未收录的jar时,就会编译报错。除了maven官方提供的仓库之外,也有很多其他的仓库。尽可能的将可信仓库添加几个,弥补maven官方仓库的不足。 二、多仓库配置方式一:全局多仓库设置全局多仓库设置,是通过修改maven的setting文件实现。设置思路:在setting文件中添加多个profile(也可以在...

一、前言

maven的中央仓库很强大,绝大多数的jar都收录了。但也有未被收录的。遇到未收录的jar时,就会编译报错。

除了maven官方提供的仓库之外,也有很多其他的仓库。尽可能的将可信仓库添加几个,弥补maven官方仓库的不足。

二、多仓库配置方式一:全局多仓库设置

全局多仓库设置,是通过修改mavensetting文件实现。
设置思路:在setting文件中添加多个profile(也可以在一个profile中包含很多个仓库),并激活(即使是只有一个可用的profile,也需要激活)。
修改mavensetting文件,设置两个仓库(以此类推,可以添加多个):

<profiles>
  <profile>
      <!-- id必须唯一 -->
      <id>myRepository1</id>
      <repositories>
          <repository>
              <!-- id必须唯一 -->
              <id>myRepository1_1</id>
              <!-- 仓库的url地址 -->
              <url>http://maven.aliyun.com/nexus/content/groups/public/</url>;
              <releases>
                  <enabled>true</enabled>
              </releases>
              <snapshots>
                  <enabled>true</enabled>
                  <updatePolicy>always</updatePolicy>
              </snapshots>
          </repository>
      </repositories>
  </profile>
  <profile>
      <!-- id必须唯一 -->
      <id>myRepository2</id>
      <repositories>
          <repository>
              <!-- id必须唯一 -->
              <id>myRepository2_1</id>
              <!-- 仓库的url地址 -->
<url>http://repository.jboss.org/nexus/content/groups/public-jboss/</url>;
              <releases>
                  <enabled>true</enabled>
              </releases>
              <snapshots>
                  <enabled>true</enabled>
                  <updatePolicy>always</updatePolicy>
              </snapshots>
          </repository>
      </repositories>
  </profile>
</profiles>
<activeProfiles>
  <!-- 激活myRepository1 -->
  <activeProfile>myRepository1</activeProfile>
  <!-- 激活myRepository2 -->
  <activeProfile>myRepository2</activeProfile>
</activeProfiles>

三、多仓库配置方式二:在项目中添加多个仓库

在项目中添加多个仓库,是通过修改项目中的pom文件实现的。
思路:在项目中pom文件的repositories节点(如果没有手动添加)下添加多个repository节点,每个repository节点是一个仓库。
修改项目中pom文件,设置两个仓库(以此类推,可以添加多个):

<repositories>
    <repository>
        <!-- id必须唯一 -->
        <id>jboss-repository</id>
        <!-- 见名知意即可 -->
        <name>jboss repository</name>
        <!-- 仓库的url地址 -->
        <url>http://repository.jboss.org/nexus/content/groups/public-jboss/</url>;
    </repository>
    <repository>
        <!-- id必须唯一 -->
        <id>aliyun-repository</id>
        <!-- 见名知意即可 -->
        <name>aliyun repository</name>
        <!-- 仓库的url地址 -->
        <url>http://maven.aliyun.com/nexus/content/groups/public/</url>;
    </repository>
</repositories>

注:以上两种方式的id值均不可以为“central”。

四、拓展阅读

【版权声明】本文为华为云社区用户原创内容,未经允许不得转载,如需转载请自行联系原作者进行授权。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。