我有几个项目需要从存储在存储库中的不同父级继承。
child-1 -> parent-1 (in repo)
child-2 -> parent-2 (in repo)
...
子pom.xml看起来像这样:
<project>
<parent>
<groupId>com.company</groupId>
<artifactId>parent-x</artifactId>
<relativePath/>
</parent>
<artifactId>child-x</artifactId>
<name>Child X</name>
<repositories>
<repository>
<!-- REPO WHERE PARENT IS LOCATED -->
</repository>
</repositories>
</project>
由于所有父项都位于同一个repo中,我想在所有子POM中重用存储库部分,而不是复制粘贴它。有没有办法做到这一点?
我无法使用这些子项目的公共父项,因为它们各自具有不同的父项,这在本地不可用。
此外,将存储库添加到settings.xml不是一个选项,因为这些代码将被其他可能没有正确设置其settings.xml的开发人员重用。
答案 0 :(得分:2)
这是不可能的。 Maven中有三种机制可以将配置分解到可以重用的位置:
我个人建议使用settings.xml并为开发人员编写文档 - 或者 - 如果您可以将父POM发布到Maven Central或某些内部公司存储库,您可以从中使用它们以及所有开发人员可使用。
答案 1 :(得分:0)
在POM中配置存储库是well known Maven anti-pattern。您应该使用存储库管理器并在那里发布顶级poms并通过settings.xml控制对它的访问。