maven的settings.xml文件中配置多个nexus仓库

在持续集成工作中,可能会遇到同一个应用所依赖的插件在不同的nexus仓库中,所以在maven的settings.xml文件中需要配置多个nexus仓库,有两种配置方法,一种是repository级别,一种是profile级别。
具体配置如下:
假设我们的两个nexus库的地址如下:
http://10.244.3.99:8081/nexus/content/groups/public/
http://10.244.3.100:8081/nexus/content/groups/public/

1. repository级别
在同一个profile中的repositorys标签下,写两个repository标签,在activeProfiles中启动这个profile。

<?xml version="1.0" encoding="UTF-8"?>
<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 http://maven.apache.org/xsd/settings-1.0.0.xsd">
    <!-- 本地仓库的路径。默认值为${user.home}/.m2/repository。 -->
    <!-- localRepository>/usr/local/apache-maven-3.3.3/repository_city</localRepository -->
    <interactiveMode>true</interactiveMode>
    <offline>false</offline>
    <servers>
<server>
            <id>releases</id>
            <username>admin</username>
            <password>passwd</password>
        </server>
<server>
            <id>snapshots</id>
            <username>admin</username>
            <password>passwd</password>
        </server>

        <server>
            <id>releases</id>
            <username>reader</username>
            <password>tydicreader</password>
        </server>
        <server>
            <id>nexus-snapshots</id>
            <username>reader</username>
            <password>tydicreader</password>
        </server>
    </servers>
    <mirrors>

    </mirrors>

    <profiles>
        <profile>
            <id>tydic.repo</id>
            <activation>
                <activeByDefault>false</activeByDefault>
                <jdk>1.8</jdk>
            </activation>
            <repositories>
                <!-- 私有库地址-->
                <repository>
                    <id>nexus</id>
                    <url>http://10.244.3.99:8081/nexus/content/groups/public/</url>
                    <releases>
                        <enabled>true</enabled>
                    </releases>
                    <snapshots>
                        <enabled>true</enabled>
                    </snapshots>
                </repository>
                <repository>
                    <id>nexus-zt</id>
                    <url>http://10.244.3.100:8081/nexus/content/groups/public/</url>

                    <releases>
                        <enabled>true</enabled>
                    </releases>
                    <snapshots>
                        <enabled>true</enabled>
                    </snapshots>
                </repository>
            </repositories>
            <pluginRepositories>
                <!--插件库地址-->
                <pluginRepository>
                    <id>nexus</id>
                    <url>http://10.244.3.99:8081/nexus/content/groups/public/</url>
                    <releases>
                        <enabled>true</enabled>
                    </releases>
                    <snapshots>
                        <enabled>true</enabled>
                   </snapshots>
                </pluginRepository>
                <pluginRepository>
                    <id>nexus</id>
                    <url>http://10.244.3.100:8081/nexus/content/groups/public</url>
                    <releases>
                        <enabled>true</enabled>
                    </releases>
                    <snapshots>
                        <enabled>true</enabled>
                   </snapshots>
                </pluginRepository>
            </pluginRepositories>
        </profile>
    </profiles>
#启动profiles
    <activeProfiles>
        <activeProfile>tydic.repo</activeProfile>
    </activeProfiles>
</settings>

2. profile级别
增加多个profile,并在activeProfiles中开启多个activeProfile:

<?xml version="1.0" encoding="UTF-8"?>
<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 http://maven.apache.org/xsd/settings-1.0.0.xsd">
    <!-- 本地仓库的路径。默认值为${user.home}/.m2/repository。 -->
    <!-- localRepository>/usr/local/apache-maven-3.3.3/repository_city</localRepository -->
    <interactiveMode>true</interactiveMode>
    <offline>false</offline>
    <servers>
<server>
            <id>releases</id>
            <username>admin</username>
            <password>passwd</password>
        </server>
<server>
            <id>snapshots</id>
            <username>admin</username>
            <password>passwd</password>
        </server>

        <server>
            <id>releases</id>
            <username>reader</username>
            <password>tydicreader</password>
        </server>
        <server>
            <id>nexus-snapshots</id>
            <username>reader</username>
            <password>tydicreader</password>
        </server>
    </servers>
    <mirrors>

    </mirrors>

    <profiles>
        <profile>
            <id>repo</id>
            <activation>
                <activeByDefault>false</activeByDefault>
                <jdk>1.8</jdk>
            </activation>
            <repositories>
                <!-- 私有库地址-->
                <repository>
                    <id>nexus</id>
                    <url>http://10.244.3.99:8081/nexus/content/groups/public/</url>
                    <releases>
                        <enabled>true</enabled>
                    </releases>
                    <snapshots>
                        <enabled>true</enabled>
                    </snapshots>
                </repository>
            </repositories>
            <pluginRepositories>
                <!--插件库地址-->
                <pluginRepository>
                    <id>nexus</id>
                    <url>http://10.244.3.99:8081/nexus/content/groups/public/</url>
                    <releases>
                        <enabled>true</enabled>
                    </releases>
                    <snapshots>
                        <enabled>true</enabled>
                   </snapshots>
                </pluginRepository>
            </pluginRepositories>
        </profile>
         <profile>
            <id>repo-1</id>
            <activation>
                <activeByDefault>false</activeByDefault>
                <jdk>1.8</jdk>
            </activation>
            <repositories>
                <!-- 私有库地址-->
                <repository>
                    <id>nexus-zt</id>
                    <url>http://10.244.3.100:8081/nexus/content/groups/public/</url>
                    <releases>
                        <enabled>true</enabled>
                    </releases>
                    <snapshots>
                        <enabled>true</enabled>
                    </snapshots>
                </repository>
            </repositories>
            <pluginRepositories>
                <!--插件库地址-->
                <pluginRepository>
                    <id>nexus-zt</id>
                    <url>http://10.244.3.100:8081/nexus/content/groups/public/</url>
                    <releases>
                        <enabled>true</enabled>
                    </releases>
                    <snapshots>
                        <enabled>true</enabled>
                   </snapshots>
                </pluginRepository>
            </pluginRepositories>
        </profile>
    </profiles>
#启动profiles
    <activeProfiles>
        <activeProfile>repo</activeProfile>
        <activeProfile>repo-1</activeProfile>
    </activeProfiles>
</settings>
发布了48 篇原创文章 · 获赞 31 · 访问量 4万+

猜你喜欢

转载自blog.csdn.net/weixin_44723434/article/details/102574044
今日推荐