解决Maven的pom.xml中设置repository不起作用问题
作者:水巷石子
Maven的pom.xml中设置repository不起作用
举个例子
比如 Spring boot
<repositories>
<repository>
<id>spring-milestones</id>
<name>Spring Milestones</name>
<url>https://repo.spring.io/milestone</url>
</repository>
</repositories>
构建的时候,发现没有走到 spring-milestones。
这时,我们打开 Settings.xml (默认是阿里云镜像)

修改 mirrorOf 为 <mirrorOf>*,!spring-milestones</mirrorOf> 即可。
maven的pom.xml中repositories的作用
在maven中pom.xml是Maven进行工作的主要配置文件,它的作用包括:配置Maven项目中需要使用的远程仓库,Maven项目的资源依赖关系等。
其中pom是Project Object Model(项目对象模型)的简称。
在pom.xml中repositories标签的作用是用来配置maven项目的远程仓库。
示例如下:
<repository>
<id>nexus</id><!--远程仓库唯一标识符 -->
<name>Private Repository</name><!--描述 -->
<url><!--远程仓库url --></url>
<layout>default</layout>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
<updatePolicy>always</updatePolicy>
</snapshots>
</repository>我们先看一下<repositories>的配置,你可以在它下面添加多个<repository> ,每个<repository>都有它唯一的ID,一个描述性的name,以及最重要的,远程仓库的url。
此外,<releases><enabled>true</enabled></releases>告诉Maven可以从这个仓库下载releases版本的构件,而<snapshots><enabled>false</enabled></snapshots>告诉Maven不要从这个仓库下载snapshot版本的构件。
禁止从公共仓库下载snapshot构件是推荐的做法,因为这些构件不稳定,且不受你控制,你应该避免使用。
当然,如果你想使用局域网内组织内部的仓库,你可以激活snapshot的支持
layout:用于定位和排序构件的仓库布局类型-可以是default(默认)或者legacy(遗留)。
Maven 2为其仓库提供了一个默认的布局;然而,Maven 1.x有一种不同的布局。
我们可以使用该元素指定布局是default(默认)还是legacy(遗留)。
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
