Maven配置多仓库

简介

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

mirror

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

<settings>
	<mirrors>
        <mirror>
            <id>mirror1id>
            <mirrorOf>central,jcentermirrorOf>
            <url>https://maven.aliyun.com/nexus/content/groups/publicurl>
        mirror>
        <mirror>
            <id>mirror2id>
            <mirrorOf>central,jcentermirrorOf>
            <url>私服地址url>
        mirror>
	mirrors>
settings>

repository

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

<settings>
	<mirrors>
        <mirror>
            <id>mirror1id>
            <mirrorOf>central,jcenter,!myRepomirrorOf>
            <url>https://maven.aliyun.com/nexus/content/groups/publicurl>
        mirror>
        <mirror>
            <id>mirror2id>
            <mirrorOf>myRepomirrorOf>
            <url>私服地址url>
        mirror>
	mirrors>
	
	<profiles>
        <profile>
            <id>myProfileid>
			<repositories>
				<repository>
                    <id>centralid>
                    <url>https://maven.aliyun.com/nexus/content/groups/publicurl>
                    <releases>
                        <enabled>trueenabled>
                    releases>
                    <snapshots>
                        <enabled>trueenabled>
                    snapshots>
                repository>
				<repository>
                    <id>myRepoid>
                    <url>local repo urlurl>
                    <releases>
                        <enabled>trueenabled>
                    releases>
                    <snapshots>
                        <enabled>trueenabled>
                    snapshots>
                repository>
			repositories>
		profile>
	profiles>	
	<activeProfiles>
        <activeProfile>myProfileactiveProfile>
    activeProfiles>
settings>

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

<mirror>
	  <id>maven-default-http-blockerid>
	  <mirrorOf>dummymirrorOf>
	  <name>Dummy mirror to override default blocking mirror that blocks httpname>
	  <url>http://0.0.0.0/url>
	  <blocked>falseblocked>
mirror>

你可能感兴趣的:(#,Java基础,maven,java)