当它包含在pom中时,自动执行maven插件的唯一目标

时间:2017-10-05 15:05:04

标签: java maven plugins build configuration

我编写了一个自定义Maven插件,可以生成一些资源以包含在最终的jar中。该插件由单个Mojo类定义,目标为generate-files

我希望用户要求为插件定义任何execution,即:

<build>
    <plugins>
        <plugin>
            <groupId>A</groupId>
            <artifactId>my-plugin</artifactId>
        </plugin>
    </plugins>
</build>

在默认阶段(generate-files)内已经执行唯一目标(generate-resources)。

我已经尝试在lifecycle.xml下定义我的新META-INF/mavencomponents.xml下的META-INF/plexus,但据我了解,这只会创建一个新的打包类型,这意味着上面的内容可行但我必须定义<packaging>my-custom-type</packaging>,在这种情况下我的插件已执行,但没有生成jar,因为我的自定义生命周期的各个阶段都会被执行。

我希望我的插件可以使用jarwarpom打包类型(并生成jarwar等)。使用自定义打包类型意味着我必须通过复制和粘贴my-custom-type-jarmy-custom-type-war,{{}来定义my-custom-type-pomjar以及war等。 1}}等生命周期并添加我的自定义阶段...

这需要大量重复,而且,如果pom生命周期得到更新,我必须修改jar

默认情况下,只是将我的插件的一个目标附加到某个阶段真的很难,还是我错过了一些明显的东西?

多种自定义包装类型真的是达到我想要的唯一方式吗?

0 个答案:

没有答案