Maven从父POM继承了属性

时间:2013-01-08 19:51:57

标签: maven inheritance maven-3

我正在尝试查找从父POM继承哪些元素的权威列表。基于this page

  

当您继承POM时,您可以选择使用继承的POM信息或有选择地覆盖它。以下是Maven POM从其父POM继承的项目列表:

     
      
  • 标识符(必须至少覆盖groupId或artifactId中的一个。)
  •   
  • 依赖关系
  •   
  • 开发人员和贡献者
  •   
  • 插件列表
  •   
  • 报告列表
  •   
  • 插件执行(合并了匹配ID的执行)
  •   
  • 插件配置
  •   

但是当我在其中一个项目中看到有效的POM时,我发现它还继承了inceptionYeardescription(这是一个问题,这应该是包含它的POM的描述,而不是所有孩子的描述都是“所有POM的根源”,这是什么意思

那么是否有一个实际的列表,或者只是从父pom继承了所有内容?我在工件清单中使用了一些这些属性,所以我想添加有意义的值

2 个答案:

答案 0 :(得分:9)

孩子pom从父pom继承了所有东西。如果您需要在子pom中设置有意义的值,则需要覆盖父pom中的值。

来自文档:

  

当项目指定父项目时,Maven使用该父项目   作为读取当前项目的POM之前的起点。它   继承所有内容,包括groupId和版本号。

答案 1 :(得分:1)

来自父POM的大多数元素都是其子代inherited。两个不被继承的元素是artifactId&amp;名称。 (另外,任何明确设置<inherited> false)的插件