3

根据m2e 维基

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

那么委托插件执行的方法是什么?我应该省略pluginExecution要委托的插件的元素吗?

4

1 回答 1

3

关于M2E 兼容的 maven 插件。只有

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

没有提到代表的标签。

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

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

更新:

在 Eclipse 中,请点击菜单Windows ---> preferences --> Maven ---> Discovery。然后单击“打开目录”按钮。系统将为您提供一个扩展列表(m2e 连接器)以供安装。比如有Android连接器、antlr、AspectJ等。我希望可能会有一个扩展来帮助你实现这个要求。

于 2012-05-30T12:27:20.193 回答