记录maven配置 mirrorOf 坑

今天从远端download下公司一个maven项目时,pom.xml文件中一直报错,missing某些包,此时maven中settings.xml的主要配置如下
<mirrors>
    <mirror>
        <id>nexus</id>
        <mirrorOf>*</mirrorOf>
        <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
    </mirror>
</mirrors>

项目中pom.xml配置了客户的私服,如下:

<distributionManagement>
    <repository>
        <id>bank_central</id>
        <name>core Release Repository</name>
        <url>http://......:9090/repository/bank_central/</url>
    </repository>
    <snapshotRepository>
        <id>bank_privrepository_snapshots</id>
        <name>core Snapshots Repository</name>
        <url>http://......:9090/repository/bank_privrepository_snapshots/</url>
    </snapshotRepository>
</distributionManagement>

<repositories>
    <repository>
        <id>bank_privrepository_interfaces</id>
        <name>bank_privrepository_interfaces</name>
        <url>http://......:9090/repository/bank_privrepository_interfaces/</url>
        <snapshots>
            <enabled>false</enabled>
        </snapshots>
    </repository>
    <repository>
        <id>bank_privrepository_snapshots</id>
        <name>bank_privrepository_snapshots</name>
        <url>http://......:9090/repository/bank_privrepository_snapshots/</url>
        <snapshots>
            <enabled>true</enabled>
        </snapshots>
    </repository>
</repositories>
<pluginRepositories>
    <pluginRepository>
        <!--中央仓库,插件安装 -->
        <id>nexus</id>
        <name>local nexus server</name>
        <url>http://......:9090/repository/bank_central/</url>
        <snapshots>
            <enabled>false</enabled>
        </snapshots>
    </pluginRepository>
</pluginRepositories>

经历了反复的clean-build、maven force update及各种可能想得到的操作,某些依赖包依然无法下载。

后来突发奇想,将settings.xml中

<mirrors/>

配置项删除,重新force update,某些包可以下载下来了,但依然缺包,后来查阅各种资料,将setting.xml中*改为central

<mirrors>
    <mirror>
        <id>nexus</id>
        <mirrorOf>central</mirrorOf>
        <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
    </mirror>
</mirrors>

perfect!!!!!!!!!!!!!!!知其然不知其所以然,待更新

官方说明:https://maven.apache.org/guides/mini/guide-mirror-settings.html

*的意思就是(根据mirrorOf和repository的id)匹配所有的库(repository),这样就是说如果你需要某个jar,他会从镜像地址去下载这个jar。不管你配置了多少个库,即使这些库的地址不一样,仍然会从镜像地址访问


评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值