maven 中配置多个mirror的问题

有个小伙伴遇到一个疑问:他的工作笔记本,在公司用部门搭建的maven私服做镜像,回到家用aliyun的镜像,每次都要改配置文件,很麻烦,希望能够不改动配置文件的情况下,动态切换mirror配置。

我们知道 settings.xml 中可以使用变量,可以尝试使用变量解决。

<mirrors>
    <mirror>
        <id>aliyun</id>
        <url>https://maven.aliyun.com/repository/public</url>
        <mirrorOf>${aliyun}</mirrorOf>
    </mirror>
    <mirror>
        <id>netease</id>
        <url>http://mirrors.163.com/maven/repository/maven-public/</url>
        <mirrorOf>${netease}</mirrorOf>
    </mirror>
    <mirror>
        <id>default</id>
        <url>http://192.168.0.100/nexus/repository/maven-public/</url>
        <mirrorOf>central</mirrorOf>
    </mirror>
</mirrors>

我们知道,默认情况下配置多个mirror的情况下,只有第一个生效。那么我们可以将最后一个作为默认值,前面配置的使用环境变量动态切换。

默认情况下,执行: mvn help:effective-settings 可以看到使用的是私服。

如果希望使用阿里云镜像,如下执行:

mvn help-effective-settings -Daliyun=central`

同样的道理,使用网易镜像,则执行:

mvn help:effective-settings -Dnetease=central

测试无误。

如果在eclipse中,需要修改运行脚本的参数。

maven 中配置多个mirror的问题

  • qq_43638135
    妲己再美究为妃: 博主没有想过自己接一些私活干吗?我现在还没毕业,但是我也确实听说外挂市场自动化游戏脚本市场挺火热的,并且报酬也很丰厚,但是具体的我也不是很清楚,求解答。 (1个月前 #47楼) 查看回复(2) 举报 回复
    22