Maven配置多仓库

发布时间:2023年12月26日

简介

工作中通常会碰到需要使用公司私服的情况,但是有的私服jar包不全,你的本地环境可能希望私服跟其他仓库一起使用。

mirror

maven的mirrors可以配置多个镜像地址,但是它默认使用的是第一个mirror,只有当第一个mirror不可用后,才会使用第二个,并不能达到第一个mirror找不到的包去第二个mirror下载的效果

<settings>
	<mirrors>
        <mirror>
            <id>mirror1</id>
            <mirrorOf>central,jcenter</mirrorOf>
            <url>https://maven.aliyun.com/nexus/content/groups/public</url>
        </mirror>
        <mirror>
            <id>mirror2</id>
            <mirrorOf>central,jcenter</mirrorOf>
            <url>私服地址</url>
        </mirror>
	</mirrors>
</settings>

repository

maven可以配置多个repository,在下载依赖时,maven会从第一个repository去下载,找不到去第二个,依此类推。因此,我们可以通过在repository添加自己私服地址的方式来解决这个问题。

<settings>
	<mirrors>
        <mirror>
            <id>mirror1</id>
            <mirrorOf>central,jcenter,!myRepo</mirrorOf>
            <url>https://maven.aliyun.com/nexus/content/groups/public</url>
        </mirror>
        <mirror>
            <id>mirror2</id>
            <mirrorOf>myRepo</mirrorOf>
            <url>私服地址</url>
        </mirror>
	</mirrors>
	
	<profiles>
        <profile>
            <id>myProfile</id>
			<repositories>
				<repository>
                    <id>central</id>
                    <url>https://maven.aliyun.com/nexus/content/groups/public</url>
                    <releases>
                        <enabled>true</enabled>
                    </releases>
                    <snapshots>
                        <enabled>true</enabled>
                    </snapshots>
                </repository>
				<repository>
                    <id>myRepo</id>
                    <url>local repo url</url>
                    <releases>
                        <enabled>true</enabled>
                    </releases>
                    <snapshots>
                        <enabled>true</enabled>
                    </snapshots>
                </repository>
			</repositories>
		</profile>
	</profiles>	
	<activeProfiles>
        <activeProfile>myProfile</activeProfile>
    </activeProfiles>
</settings>

如果你的私服是http地址,且maven是3.8.1及以上版本,需要添加以下mirror阻止maven对http私服地址的屏蔽。

<mirror>
	  <id>maven-default-http-blocker</id>
	  <mirrorOf>dummy</mirrorOf>
	  <name>Dummy mirror to override default blocking mirror that blocks http</name>
	  <url>http://0.0.0.0/</url>
	  <blocked>false</blocked>
</mirror>
文章来源:https://blog.csdn.net/liuzhenghua66/article/details/135213707
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。