My Maven项目使用Spring Boot .pom作为其父级:
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.10.RELEASE</version>
<relativePath/>
</parent>
根据Maven指南Introduction to the POM,
POM中合并的元素如下:
- 依赖关系
- 开发人员和贡献者
- 插件列表(包括报告)
- 带有匹配ID的插件执行
- 插件配置
- 资源
我为此项目配置了自己的本地存储库(只包含一个jar):
<repositories>
<!--other repositories if any-->
<repository>
<id>project.local</id>
<name>project</name>
<url>file:${project.basedir}/repo</url>
</repository>
</repositories>
因此,如果存储库不在POM中合并的&#34;元素列表中,&#34;为什么我的构建工作正常?我的repo只包含一个jar,但我依赖的不止于此,所以如果我的存储库定义完全是&#34; masking&#34;我父母的存储库定义,我不认为构建会起作用。我假设因为我已经指定了父级,所以我也没有将Super POM指定为父级。
答案 0 :(得分:0)
正如前面提到的here,无论如何,你总是从SuperPOM获得标准的存储库集(最后它由你的父pom或其父pom等继承)并且存储库没有被屏蔽。
如果您不想使用中央存储库,则应在settings.xml中创建镜像
$MAVEN_HOME/conf/settings.xml
像这样
<mirror>
<id>internal-repository</id>
<name>Maven Repository Manager running on repo.mycompany.com</name>
<url>http://repo.mycompany.com/proxy</url>
<mirrorOf>*</mirrorOf>
</mirror>