maven配置多个仓库的实现

软件发布|下载排行|最新软件

当前位置:首页IT学院IT技术

maven配置多个仓库的实现

sayyy   2023-02-03 我要评论

说明

maven的中央仓库很强大,绝大多数的jar都收录了。但也有未被收录的。遇到未收录的jar时,就会编译报错。
除了maven官方提供的仓库之外,也有很多的仓库。尽可能的将可信的仓库(嗯,可信的仓库!)添加几个,弥补maven官方仓库的不足。

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

全局多仓库设置,是通过修改maven的setting文件实现的。

设置思路:在setting文件中添加多个profile(也可以在一个profile中包含很多个仓库),并激活(即使是只有一个可用的profile,也需要激活)。

修改maven的setting文件,设置两个仓库(以此类推,可以添加多个):

  <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”。

Copyright 2022 版权所有 软件发布 访问手机版

声明:所有软件和文章来自软件开发商或者作者 如有异议 请与本站联系 联系我们