Maven包含另一个用于插件配置的pom

时间:2011-04-20 11:26:02

标签: maven maven-plugin maven-assembly-plugin

有没有办法在maven pom中包含另一个pom或信息?

我有几个基本上不相关或有不同父母的poms。然而,对于包装,需要具有与所有项目相同的清单。

所以目前我有一个pom:

<plugin>
  <artifactId>maven-assembly-plugin>
   <!--- .... -->
    <archive>
      <manifestEntries>
        <build-date>....</build-date>
        <build-nr>.....</build-nr>

等等

我想避免将此配置粘贴到所有几个pom上。

那么如何在没有继承的情况下共享插件的配置呢?

由于

2 个答案:

答案 0 :(得分:6)

执行此操作的一种方法是使用pluginManagement部分。 {p> 1}}配置可以在父pom中的此部分中定义,并且可用于继承的poms以按原样使用或覆盖。

Here是相关的maven文档。在您的具体情况下,您需要适当地组织您的项目/ poms。

答案 1 :(得分:2)

唯一正确的答案是使用继承。拥有此配置的继承祖先。由于您有现有的父POM,因此必须从这个新父级继承。如果这不可能,那么重新考虑你的Maven项目的层次结构,否则你将不得不将相同的配置复制并粘贴到每个文件中并添加注释,指示不得修改该部分/必须与[insert]一致地保持这里的项目清单]。

TLDR;继承专门用于解决您的情况。如果你不能使用它,那么不要试图破解它 - 重构你的POM或复制和粘贴!