Maven多个仓库配置方法

文章内容

1、方法一

在配置 Maven 的 settings.xml 时,都会设置 mirror 节点,例如:

1
2
3
4
5
6
7
8
<mirrors>
    <mirror>
        <id>alimaven</id>
        <name>aliyun maven</name>
        <mirrorOf>central</mirrorOf>
    </mirror>
</mirrors>

然而在 mirrors 节点下多增加几个 mirror,并不能达到配置多个仓库的效果。

正确的操作:在 profiles 节点下配置多个 profile,而且配置之后要激活。

例如:

01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
<profiles>
    <profile>
      <id>boundlessgeo</id>
      <repositories>
        <repository>
          <id>boundlessgeo</id>
          <url>https://repo.boundlessgeo.com/main/</url>
          <releases>
            <enabled>true</enabled>
          </releases>
          <snapshots>
            <enabled>true</enabled>
            <updatePolicy>always</updatePolicy>
          </snapshots>
        </repository>
      </repositories>
    </profile>
    <profile>
      <id>aliyun</id>
      <repositories>
        <repository>
          <id>aliyun</id>
          <releases>
            <enabled>true</enabled>
          </releases>
          <snapshots>
            <enabled>true</enabled>
            <updatePolicy>always</updatePolicy>
          </snapshots>
        </repository>
      </repositories>
    </profile>
    <profile>
      <id>maven-central</id>
      <repositories>
        <repository>
          <id>maven-central</id>
          <url>http://central.maven.org/maven2/</url>
          <releases>
            <enabled>true</enabled>
          </releases>
          <snapshots>
            <enabled>true</enabled>
            <updatePolicy>always</updatePolicy>
          </snapshots>
        </repository>
      </repositories>
    </profile>
<profiles>

通过配置 activeProfiles 子节点激活:

1
2
3
4
5
<activeProfiles>
    <activeProfile>boundlessgeo</activeProfile>
    <activeProfile>aliyun</activeProfile>
    <activeProfile>maven-central</activeProfile>
</activeProfiles>

2、方法二

在项目中添加多个仓库,是通过修改项目中的pom文件实现的。

思路:在项目中pom文件的repositories节点(如果没有手动添加)下添加多个repository节点,每个repository节点是一个仓库。

01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
<repositories>
    <repository>
        <!-- id必须唯一 -->
        <id>jboss-repository</id>
        <name>jboss repository</name>
    </repository>
    <repository>
        <id>aliyun-repository</id>
        <name>aliyun repository</name>
    </repository>
    <repository>
        <id>奇葩仓库</id>
        <url>https://奇葩仓库/public/</url>
    </repository>
</repositories>

发表评论

欢迎阅读『Maven多个仓库配置方法|Java、其他、数据存储、软件安装|Nick Tan-梓潼Blog』