Dav*_*ave 10 eclipse lifecycle m2eclipse maven m2e
我在Mac 10.9.5上使用Eclipse Kepler.我使用m2e Eclipse插件导入了许多Maven项目.所有这些项目都是父母的孩子.当我查看各个子pom.xml文件中的"Overview"时,我看到如下内容:
Plugin execution not covered by lifecycle configuration: org.codehaus.mojo:properties-maven-plugin:1.0-alpha-2:write-project-properties (execution: default, phase: process-resources)
Run Code Online (Sandbox Code Playgroud)
我希望Eclipse在适当的时候执行这些生命周期阶段,但我不知道如何做到这一点.当我选择Eclipse的建议时......
Permanently mark goal write-project-properties in pom.xml as ignore
Run Code Online (Sandbox Code Playgroud)
我在提示"选择要放置忽略的位置"时选择了父pom.xml文件,但是,当我在Eclipse编辑器中查看子pom.xml文件时,错误不会消失.如何映射m2e未涵盖的生命周期阶段?
编辑:
根据答案,我去了Eclipse - > Preferences - > Maven - > Lifecycle Mappings,点击了"Open Workspace Lifecycle Mappings Metadata",并根据建议编辑了文件......
<?xml version="1.0" encoding="UTF-8"?>
<lifecycleMappingMetadata>
<pluginExecutions>
<pluginExecution>
<pluginExecutionFilter>
<groupId>org.codehaus.mojo</groupId>
<artifactId>xmlbeans-maven-plugin</artifactId>
<versionRange>2.3.3</versionRange>
<goals>
<goal>xmlbeans</goal>
</goals>
</pluginExecutionFilter>
<action>
<ignore />
</action>
</pluginExecution>
<pluginExecution>
<pluginExecutionFilter>
<groupId>org.codehaus.mojo</groupId>
<artifactId>properties-maven-plugin</artifactId>
<versionRange>[1.0-alpha-2,)</versionRange>
<goals>
<goal>write-project-properties</goal>
</goals>
</pluginExecutionFilter>
<action>
<execute />
</action>
</pluginExecution>
</pluginExecutions>
</lifecycleMappingMetadata>
Run Code Online (Sandbox Code Playgroud)
即使在重新启动Eclipse之后,当我打开子pom.xml文件时,"生命周期配置未涵盖的插件执行"错误仍然像以前一样.
bar*_*hel 12
M2Eclipse(Eclipse的Maven集成插件)将默认phase的和goalsMaven 映射和执行到内部Eclipse构建工作流程中.
请参阅:https://www.eclipse.org/m2e/documentation/m2e-execution-not-covered.html
[...]需要明确说明如何处理绑定到项目构建生命周期的"有趣"阶段的所有Maven插件.我们将这些指令称为"项目构建生命周期映射"或简称为"生命周期映射",因为它们定义m2e如何将项目pom.xml文件中的信息映射到Eclipse工作区项目配置和Eclipse工作区构建期间的行为.
可以在每个项目或全局Eclipse安装中解决此错误.
项目构建生命周期映射可以在项目的pom.xml中配置,由Eclipse插件提供,或者默认为m2e附带的常用Maven插件.我们将这些称为"生命周期映射元数据源".
全局Eclipse设置文件lifecycle-mapping-metadata.xml可通过Maven Settings对话框中的"Lifecycle Mappings"进行调用和配置[1].
M2Eclipse使用插件groupId,artifactId,版本范围和目标的组合将插件执行与动作相匹配.有两个基本操作可以指示M2Eclipse与插件执行 - 忽略,执行和委托给项目配置器.
[...]
该忽略选项,顾名思义,讲述的m2eclipse悄悄忽略插件运行.
[...]
该执行选项告诉M2E执行行动Eclipse工作区完全或增量构建的一部分.
委托给项目配置器意味着Eclipse Marketplace中有适配器Eclipse插件.适配器插件以特定于Maven插件的方式执行phases和goals.
真实的设置(XML结构)并不是真正的直观,但在上面的链接中有点描述.
在您的情况下,lifecycle-mapping-metadata.xml将看起来像:
<?xml version="1.0" encoding="UTF-8"?>
<lifecycleMappingMetadata>
<pluginExecutions>
[...]
<pluginExecution>
<pluginExecutionFilter>
<groupId>org.codehaus.mojo</groupId>
<artifactId>properties-maven-plugin</artifactId>
<versionRange>[1.0-alpha-2,)</versionRange>
<goals>
<goal>write-project-properties</goal>
</goals>
</pluginExecutionFilter>
<action>
<ignore />
</action>
</pluginExecution>
[...]
</pluginExecutions>
</lifecycleMappingMetadata>
Run Code Online (Sandbox Code Playgroud)
ProTip:你有没有更多项目并且一直使用一组Maven插件,移动lifecycle-mapping-metadata.xmlSCM(git,svn,cvs ......).
编辑
添加插件的所有目标以及可能的其他插件以避免这些错误.请仔细阅读错误消息以获取其他内容goal或插件.
任何保存的更改后,lifecycle-mapping-metadata.xml您必须重新加载 Maven设置对话框[1]中的内容并更新工作区中所有基于Maven的项目.
点击在您的工作空间Maven项目鼠标右键,选择的Maven>更新项目.......选择/ all Maven项目并激活以下复选框:
编辑
[1] Maven Settings对话框位于File> Window> Preferences> Maven> Lifecycle Mappings,直到Exclipse Oxygen.
| 归档时间: |
|
| 查看次数: |
17544 次 |
| 最近记录: |