maven2:如何在父子pom之间共享一个插件配置?

Gui*_*ume 15 plugins maven-2

我正在尝试减少maven pom文件中的复制/粘贴.

我们有一个主要的pom和许多继承自主人的儿童项目.

我想分享一个复杂的插件定义,如下所示:

<plugins>
    ...
    <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>appassembler-maven-plugin</artifactId>
        <configuration>
            <!-- many xml lines here --> 
        </configuration>

        <executions>
            <execution>
                <phase>package</phase>
                <goals>
                    <goal>assemble</goal>
                    <goal>generate-daemons</goal>
                    <goal>create-repository</goal>
                </goals>
            </execution>
        </executions>

        <dependencies>
            <dependency>
                <groupId>org.codehaus.mojo.appassembler</groupId>
                <artifactId>appassembler-booter</artifactId>
                <version>1.0</version>
            </dependency>
        </dependencies>
    </plugin>
    ...
</plugins>
Run Code Online (Sandbox Code Playgroud)

当这个插件定义在项目pom中时,打包工作做得很好.
当定义移动到父pom(in或in)时,甚至不会启动包装.

是否可以共享插件配置?怎么样 ?

- 在第一个答案后编辑---
我尝试了以下内容:
- 将我的XL包装插件配置放在我父pom的元素中
- 在我的项目pom中添加以下元素:

<plugins>
...
   <plugin>
      <groupId>org.codehaus.mojo</groupId>
      <artifactId>appassembler-maven-plugin</artifactId>
   </plugin>
...
</plugins>
Run Code Online (Sandbox Code Playgroud)

但它不起作用......那有什么不对?

- 最后编辑 - 我想我得到了什么问题:
插件重用声明应该在配置文件构建中声明.
我在一个始终启用的插件中完成了它,现在它正常工作.

非常感谢.

Joh*_*int 20

您可以将父项的插件包装在 <pluginManagement>标记中.

   <build> 
       <pluginManagement>
           <plugins>
               <plugin> ... </plugin>
           </plugins>
       </pluginManagement>
   </build>
Run Code Online (Sandbox Code Playgroud)

然后,子插件在他们的构建标记中声明插件时将继承配置.