我正在尝试查找从父POM继承哪些元素的权威列表。基于this page
当您继承POM时,您可以选择使用继承的POM信息或有选择地覆盖它。以下是Maven POM从其父POM继承的项目列表:
- 标识符(必须至少覆盖groupId或artifactId中的一个。)
- 依赖关系
- 开发人员和贡献者
- 插件列表
- 报告列表
- 插件执行(合并了匹配ID的执行)
- 插件配置
但是当我在其中一个项目中看到有效的POM时,我发现它还继承了inceptionYear
,description
(这是一个问题,这应该是包含它的POM的描述,而不是所有孩子的描述都是“所有POM的根源”,这是什么意思
那么是否有一个实际的列表,或者只是从父pom继承了所有内容?我在工件清单中使用了一些这些属性,所以我想添加有意义的值
答案 0 :(得分:9)
孩子pom从父pom继承了所有东西。如果您需要在子pom中设置有意义的值,则需要覆盖父pom中的值。
来自文档:
当项目指定父项目时,Maven使用该父项目 作为读取当前项目的POM之前的起点。它 继承所有内容,包括groupId和版本号。
答案 1 :(得分:1)
来自父POM的大多数元素都是其子代inherited。两个不被继承的元素是artifactId&amp;名称。 (另外,任何明确设置<inherited>
false)的插件