Maven settings.xml 文件 mirrors 节点 配置
-
如果要使用 阿里云、腾讯云、华为云 等等国内厂商的 Maven 代理仓库,可以配置
<id>aliyun</id>:必须唯一<mirrorOf>central,jcenter</mirrorOf>:代理仓库名称,支持使用*代理所有,常见的仓库名见:仓库服务<url>https://maven.aliyun.com/repository/public</url>:代理国内云厂商 Maven 代理地址,更多 Maven 地址见:Maven 仓库地址
<mirrors> <mirror> <id>aliyun</id> <mirrorOf>central,jcenter</mirrorOf> <url>https://maven.aliyun.com/repository/public</url> </mirror> </mirrors> -
如果 Maven 项目中
pom.xml文件使用了<repositories>,可以在settings.xml文件mirrors节点添加与项目pom.xml中<repository>下<id>***</id>相同的名字来覆盖pom.xml中<repository>,示例如下:-
GitHub - xuxiaowei-com-cn/spring-cloud-alibaba-example: Spring Cloud Alibaba 示例 · GitHub 仓库的 spring-cloud-2025.1.x 模块配置了:
<repositories> <!-- 需要在 settings.xml 配置: <server> <id>github</id> <username>GitHub 用户名</username> <password>GitHub Token(需要 read:packages 权限)</password> </server> --> <repository> <id>github</id> <url>https://maven.pkg.github.com/alibaba/spring-cloud-alibaba</url> <releases> <enabled>false</enabled> </releases> <snapshots> <enabled>true</enabled> </snapshots> </repository> </repositories> -
因为 GitHub Maven Package 无法匿名访问,需要在
settings.xml文件中配置 GitHub Token(需要read:packages权限) -
不想再工作电脑中配置个人 GitHub Token
-
作者自己搭建了一个 Nexus 服务,代理了 https://maven.pkg.github.com/alibaba/spring-cloud-alibaba ,地址:http://nexus.xuxiaowei.io:48081/repository/maven-github-spring-cloud-alibaba/
-
于是便可以在
settings.xml中配置mirrors,内容如下:<mirrors> <mirror> <id>aliyun</id> <mirrorOf>central,jcenter</mirrorOf> <url>https://maven.aliyun.com/repository/public</url> </mirror> <mirror> <!-- 当前文件唯一即可 --> <id>maven-github-spring-cloud-alibaba</id> <!-- 用于覆盖项目 pom.xml 中 <repository> 节点下同名的 <id> --> <mirrorOf>github</mirrorOf> <url>http://nexus.xuxiaowei.io:48081/repository/maven-github-spring-cloud-alibaba/</url> </mirror> </mirrors>
-