解决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(遗留)。
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。