我正在写一个Maven 3插件,插件构建其他应用程序。 一个插件基本上是一些花哨的体现一个JAR文件。 编译的类需要进行后处理,该插件与主机应用程序的生产版本工作。 不幸的是,插件的处理后的版本将不与主机的调试版本工作。 因此,我需要产生两个构件:原料类与分类debug
和后处理的版本作为主神器。
我有一个工作Maven插件定义有自己的生命周期映射一个新的包装类型。 为了创建debug
神器,不过,我需要调用jar:jar
与classifier
属性集。 我一直没能找到一种方法来更改配置为从生命周期的映射的Mojo执行。 是否可能? 我将不得不让每个人都使用随我的插件超级POM?
作为参考,这是我的相关部分components.xml
:
<?xml version="1.0" encoding="utf-8" ?>
<component-set>
<components>
<!-- snip other components, including ArtifactHandler -->
<component>
<role>org.apache.maven.lifecycle.mapping.LifecycleMapping</role>
<role-hint>my-packaging</role-hint>
<implementation>org.apache.maven.lifecycle.mapping.DefaultLifecycleMapping</implementation>
<configuration>
<lifecycles>
<lifecycle>
<id>default</id>
<phases>
<!-- snip other phases -->
<package>
org.apache.maven.plugins:maven-jar-plugin:jar
</package>
</phases>
</lifecycle>
</lifecycles>
</configuration>
</component>
</components>
</component-set>
我需要执行等同于这个POM片段:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<executions>
<execution>
<id>debug-jar</id>
<phase>package</phase>
<goal>jar</goal>
<configuration>
<classifier>debug</classifier>
</configuration>
</execution>
</executions>
</plugin>
我发现了一个SO问题 ,这似乎是我在寻找同样的事情,但它没有任何答案。 这是文档 ,我用来创建摆在首位的生命周期映射。 重型谷歌搜索还没有止跌回升事情,似乎有关,但我无法想出足够具体的搜索字词。