m2e生命周期映射:委托插件执行

时间:2012-05-30 09:14:18

标签: eclipse maven m2e

根据m2e wiki

  

m2e将插件执行与使用插件组合的操作相匹配   groupId,artifactId,版本范围和目标。有三个基本的   可以指示m2e执行插件的操作 -   忽略,执行并委托给项目配置器。

此外,我可以读到忽略我需要做的插件:

<pluginExecution>
   <pluginExecutionFilter>
      <groupId>org.bsc.maven</groupId>
      <artifactId>maven-processor-plugin</artifactId>
      <versionRange>[2.0.5,)</versionRange>
      <goals>
         <goal>process</goal>
      </goals>
   </pluginExecutionFilter>
   <action>
      <delegate />
   </action>
</pluginExecution>

因此,委托执行似乎是合乎逻辑的,我应该这样做,但是:

<action>
     <delegate />
</action>

但它不起作用。我收到了以下错误:

No enum constant org.eclipse.m2e.core.lifecyclemapping.model.PluginExecutionAction.delegate

那么委派插件执行的方式是什么?我是否应该省略{I}我要委托的插件的元素?

1 个答案:

答案 0 :(得分:3)

关于M2E compatible maven plugins。只有

1. <ignore/> mapping 
2. <execute/> mapping 

代表没有提到的标签。

如果我理解正确,这是一个没有任何必要配置的默认配置。它只是让Eclipse M2E / M2E扩展来决定。请注意,对我来说,我正在使用JBoss的“ m2e项目配置程序,用于Eclipse WTP ”来处理Web项目。您可能需要使用符合您要求的M2E扩展名。

我总是使用ignore来管理自定义资源,并且它可以正常工作。

更新

在Eclipse中,请点击菜单 Windows ---&gt;偏好 - &gt; Maven ---&gt;发现 即可。然后点击“ 打开目录 ”按钮。系统将为您提供安装扩展名列表(m2e连接器)。例如,有 Android连接器,antlr,AspectJ 等。我希望有一个扩展可以帮助你达到要求。