当前位置: 首页 > 知识库问答 >
问题:

我如何映射EclipseM2e插件未涵盖的Maven生命周期阶段?

刘曾琪
2023-03-14

我在Mac 10.9.5上使用Eclipse开普勒。我已经使用m2e Eclipse插件导入了许多Maven项目。所有这些项目都是父母pom的孩子。当我看到个别儿童pom中的“概述”时。xml文件,我看到这样的东西:

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)

我希望Eclipse在适当的时间执行这些生命周期阶段,但我不确定如何做到这一点。当我选择Eclipse的建议时…

Permanently mark goal write-project-properties in pom.xml as ignore

我选择了家长pom。当提示“选择要放置的位置忽略”时,xml文件。然而,当我查看子pom时,错误不会消失。Eclipse编辑器中的xml文件。我如何映射m2e未涵盖的生命周期阶段?

编辑:

根据答案,我去了日食-

<?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>

即使在重新启动Eclipse之后,当我打开一个儿童pom时。在xml文件中,“生命周期配置未涵盖插件执行”错误仍然与以前一样。

共有1个答案

林魁
2023-03-14

M2Eclipse(用于Eclipse的Maven集成插件)正在将Maven的默认阶段和目标映射并执行到内部Eclipse构建工作流中。

见:https://www.eclipse.org/m2e/documentation/m2e-execution-not-covered.html

[...]需要明确的说明如何处理绑定到项目构建生命周期的“有趣”阶段[...]的所有Maven插件。我们将这些指令称为“项目构建生命周期映射”或简单地称为“生命周期映射”,因为它们定义了在Eclipse工作空间构建期间,m2e如何将信息从项目pom.xml文件映射到Eclipse工作空间项目配置和行为。

在每个项目或您的全局Eclipse安装中都可以解决这个错误。

项目构建生命周期映射可以在项目的pom中配置。xml,由Eclipse插件提供,或默认为m2e附带的常用Maven插件。我们称之为“生命周期映射元数据源”。

全局Eclipse设置文件称为lifecycle-mapping-metadata.xml,可通过Maven设置对话框[1]中的生命周期映射进行配置。

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

[...]

忽略选项,顾名思义,告诉M2Eclipse默默地忽略插件的执行。

[...]

execute选项告诉m2e作为Eclipse工作区完整或增量构建的一部分执行操作。

委托给项目配置器意味着Eclipse市场中有适配器Eclipse插件。适配器插件以更专业的插件方式执行阶段和目标。

真正的设置(XML结构)并不是真正直观的,而是在上面的链接中描述的。

在您的例子中,生命周期映射元数据。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>

ProTip:如果你有更多的项目并且一直使用一组Maven插件,移动生命周期映射元数据。SCM中的xml(git、svn、cvs…)。

编辑

添加插件的所有目标,也许还有其他插件来避免这些错误。仔细阅读错误消息,了解其他目标或插件。

生命周期映射元数据进行任何保存的更改后。xml您必须重新加载Maven设置对话框[1]中的内容,并更新工作区中所有基于Maven的项目。

在工作区中的Maven项目上单击鼠标右键,然后选择Maven

  • 从pom更新项目配置。xml

编辑

[1] Maven设置对话框位于文件中

 类似资料:
  • 我正在日蚀中构建PageTurner。并将其与Maven和ActionBarSherlcok集成。但是我在POM. xml中得到了这个单一的错误。 生命周期配置未涵盖插件执行:com。乱穿马路。专家插件。Android第二代:android maven插件:3.6.1:生成源代码(执行:默认-生成源代码,阶段:生成源代码)

  • 需要以下Eclipse m2e问题的帮助: 生命周期配置未涵盖插件执行:com。谷歌。appengine:appengine maven插件:1.8.3:endpoints\u get\u discovery\u doc(执行:默认,阶段:编译) 有什么想法吗?pom。xml看起来像:https://github.com/GoogleCloudPlatform/appengine-endpoint

  • 我有家长[项目]pom 在子项目[childpom]中,我在第一行得到这个错误 不兼容的生命周期映射插件版本1.4.0跳转到父pom中的定义。 更多环境详情: IDE:Jboss jeveloper studio v9.0.0 JDK:java 8 64位 MAVEN:apache-MAVEN-3.3.3 我是马文的新手,请告诉我哪里出了问题?

  • 在eclipse中导入Maven项目时,我遇到了上面的错误。我对这些技术还不熟悉,所以说不通。 请看一下POM。XML。 完整错误显示为:生命周期配置未涵盖插件执行:org。科德豪斯。gmaven:groovy maven插件:2.1.1:execute(执行:网页包,阶段:流程资源) maven项目构建生命周期映射问题

  • 升级到Eclipse Luna或m2e 1.5后。Eclipse抱怨说,在打开一个带有Maven插件项目的现有工作区时

  • 这在我做项目的笔记本电脑上工作,而在另一台笔记本电脑上抛出一个错误。错误代码为 格式:或:[:]:.可用的生命周期阶段有:验证、初始化、生成源、过程源、生成资源、过程资源、编译、过程类、生成测试源、过程测试源、生成测试资源、过程测试资源、测试编译、过程测试类、测试、准备包、包、集成前测试、集成测试、集成后测试、验证、安装、部署、预清理、清理、清理后、站点前、站点后、站点部署。->[帮助1][ERR