Pab*_*dez 22 java maven-plugin maven
我应该在编译阶段运行Maven插件,因此,该项目占用我的插件,我必须做这样的事情:
<executions>
<execution>
<phase>compile</phase>
<goals>
<goal>my-goal</goal>
</goals>
</execution>
</executions>
Run Code Online (Sandbox Code Playgroud)
我需要的是默认情况下my-goal,如果用户已经包含了我的插件,则附加到编译阶段(理想情况下,上面的部分不是必需的,只是插件声明).
这可能吗?
把一个@phase 注释在魔classdef注释.
医生说:
@phase <phaseName>
Run Code Online (Sandbox Code Playgroud)
此批注指定此目标的默认阶段.如果将此目标的执行添加到pom.xml并且未指定阶段,Maven将默认将目标绑定到此批注中指定的阶段.
如果这不起作用,我想JIRA是有道理的.
在插件中创建src\main\resources\META-INF\plexus\components.xml的实例.
在那里为您希望Mojo支持的工件类型创建LifeCycle映射.确保它列出了您要支持的所有阶段和插件.可能最好从maven-core.jar中复制一个.
然后将插件添加到您希望它们构建的阶段的相应LifeCycle中.
例如,消耗aar Mojo添加到aar生命周期的编译阶段.
<!-- Android archive (aar) support -->
<component>
<role>org.apache.maven.lifecycle.mapping.LifecycleMapping</role>
<role-hint>aar</role-hint>
<implementation>
org.apache.maven.lifecycle.mapping.DefaultLifecycleMapping
</implementation>
<configuration>
<phases>
<generate-sources>
com.jayway.maven.plugins.android.generation2:android-maven-plugin:generate-sources
</generate-sources>
<process-resources>org.apache.maven.plugins:maven-resources-plugin:resources</process-resources>
<compile>
com.jayway.maven.plugins.android.generation2:android-maven-plugin:consume-aar,
org.apache.maven.plugins:maven-compiler-plugin:compile
</compile>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6879 次 |
| 最近记录: |