970

我正在尝试使用Spring Data 和 Neo4j。我首先尝试遵循主站点链接的本指南。特别是我的 pom.xml 来自“Hello, World!”。示例文件。这是我的 pom.xml 中导致问题的插件的片段...

<plugin>
<!-- Required to resolve aspectj-enhanced class features -->
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>aspectj-maven-plugin</artifactId>
    <version>1.0</version>
    <configuration>
        <outxml>true</outxml>
        <aspectLibraries>
            <aspectLibrary>
                <groupId>org.springframework</groupId>
                <artifactId>spring-aspects</artifactId>
            </aspectLibrary>
            <aspectLibrary>
                <groupId>org.springframework.data</groupId>
                <artifactId>spring-data-neo4j</artifactId>
            </aspectLibrary>
        </aspectLibraries>
        <source>1.6</source>
        <target>1.6</target>
    </configuration>
    <executions>
        <!-- ERROR HERE IN ECLIPSE SEE BELOW FOR FULL MESSAGE -->
        <execution>
            <goals>
                <goal>compile</goal>
                <goal>test-compile</goal>
            </goals>
        </execution>
    </executions>
    <dependencies>
        <dependency>
            <groupId>org.aspectj</groupId>
            <artifactId>aspectjrt</artifactId>
            <version>${aspectj.version}</version>
        </dependency>
        <dependency>
            <groupId>org.aspectj</groupId>
            <artifactId>aspectjtools</artifactId>
            <version>${aspectj.version}</version>
        </dependency>
    </dependencies>
</plugin>

我看到的错误是:

 Multiple annotations found at this line:
    - Plugin execution not covered by lifecycle configuration: org.codehaus.mojo:aspectj-maven-plugin:1.0:compile (execution: default, phase: process-classes)
    - Plugin execution not covered by lifecycle configuration: org.codehaus.mojo:aspectj-maven-plugin:1.0:test-compile (execution: default, phase: process-classes)

我正在运行 Eclipse 3.6.2 和 m2e 0.13。我不是 Maven 专家,所以如果可能的话,请在你的答案中解释清楚。

我还通过此更新站点尝试了m2e 1.0.0,但仍然遇到相同的错误。

4

32 回答 32

1466

在我遇到类似问题的情况下,它没有使用 Andrew 的修复建议,而是在我将<pluginManagement>标记引入有问题的 pom.xml 之后才起作用。看起来该错误是由于缺少 <pluginManagement> 标记。因此,为了避免 Eclipse 中的异常,需要简单地将所有插件标签包含在<pluginManagement>标签内,如下所示:

<build>
    <pluginManagement>
        <plugins>
            <plugin> ... </plugin>
            <plugin> ... </plugin>
                  ....
        </plugins>
    </pluginManagement>
</build>

一旦这个结构到位,错误就会消失。

于 2012-12-05T21:59:45.713 回答
424

真是一团糟。我不记得我在哪里找到的,但我必须添加以下内容才能让 M2Eclipse 满意。更可悲的是,要理解为什么需要这个标签并不容易。

<build>
      ... various plugins ...

      <pluginManagement>
        <plugins>
            <!--This plugin's configuration is used to store Eclipse 
                m2e settings only. It has no influence on the Maven build itself. -->
            <plugin>
                <groupId>org.eclipse.m2e</groupId>
                <artifactId>lifecycle-mapping</artifactId>
                <version>1.0.0</version>
                <configuration>
                    <lifecycleMappingMetadata>
                        <pluginExecutions>
                            <pluginExecution>
                                <pluginExecutionFilter>
                                    <groupId>org.codehaus.mojo</groupId>
                                    <artifactId>aspectj-maven-plugin</artifactId>
                                    <versionRange>[1.0,)</versionRange>
                                    <goals>
                                        <goal>test-compile</goal>
                                        <goal>compile</goal>
                                    </goals>
                                </pluginExecutionFilter>
                                <action>
                                    <execute />
                                </action>
                            </pluginExecution>
                        </pluginExecutions>
                    </lifecycleMappingMetadata>
                </configuration>
            </plugin>
        </plugins>
    </pluginManagement>
</build>

M2Eclipse 插件还存在许多其他问题,这些问题根本不适用于 Spring Data。最后,我禁用了 M2Eclipse 以支持Apache Eclipse 插件

于 2011-06-16T13:22:38.217 回答
264

在 Eclipse Luna 4.4.0 中,您可以在首选项中选择忽略此错误

窗口>首选项> Maven >错误/警告>生命周期配置未涵盖的插件执行。根据需要选择忽略/警告/错误

此外,在此错误的快速修复 (Ctrl + 1) 中,它提供了一个选项,可在 Eclipse 偏好设置中的 Eclipse 构建中将目标标记为已忽略(实验性)

这是一种更简洁的方式,因为它不会修改您的pom.xml.

您还需要执行Maven > Update 项目来修复任何其他项目中的相同错误。


在 STS(Spring-tool-suite) 中,您可以选择在首选项中忽略此错误

窗口 > 首选项 > Maven > 错误/警告 > 生命周期配置未涵盖插件执行。根据需要选择忽略/警告/错误。然后。右键单击项目单击 Maven 并更新项目,然后错误将消失。

于 2014-12-11T19:13:50.247 回答
226

来自Eclipse m2e 文档的建议解决方案:

  1. 对pom.xml中的错误使用快速修复并选择- 这将为您生成所需的样板代码。Permanently mark goal run in pom.xml as ignored in Eclipse build

  2. 要指示 Eclipse 在构建期间运行您的插件 - 只需在生成的配置中将<ignore/>标签替换为标签:<execute/>

    <action>
        <execute/>
    </action>
    

    或者,您也可以指示 Eclipse 在增量构建上运行插件:

    <action>
        <execute>
            <runOnIncremental>true</runOnIncremental>
        </execute >
    </action>
    
于 2013-02-11T10:08:04.737 回答
115

请参阅https://www.eclipse.org/m2e/documentation/m2e-execution-not-covered.html

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

项目构建生命周期映射配置可以在项目 pom.xml 中指定,由 Eclipse 插件贡献,m2e 附带的一些常用 Maven 插件也有默认配置。我们称这些为“生命周期映射元数据源”。m2e 将为在任何映射元数据源中没有生命周期映射的所有插件执行创建如下所示的错误标记。

Plugin execution not covered by lifecycle configuration:
org.apache.maven.plugins:maven-antrun-plugin:1.3:run
   (execution: generate-sources-input, phase: generate-sources)

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

于 2011-06-25T00:57:51.790 回答
31

m2e 0.13 引入了m2e 连接器m2e Market Place以扩展 m2e 功能。这就像旧的 m2e-extras 存储库。

您可以从首选项访问 m2e 市场:Preferences>Maven>Discovery>Open Catalog。安装WTP 集成为我解决了大多数插件问题。

于 2011-06-23T14:43:01.150 回答
30

请注意,今天的 Eclipse Neon 发布系列中可用的 M2Eclipse (m2e) 版本 1.7.0 支持用于指定生命周期映射元数据的新语法。结果像这样的样板(这里我们告诉 m2e 忽略目标):

<pluginManagement>
  <plugins>
    <!--This plugin's configuration is used to store Eclipse m2e settings only. It has no influence on the Maven build itself.-->
    <plugin>
      <groupId>org.eclipse.m2e</groupId>
      <artifactId>lifecycle-mapping</artifactId>
      <version>1.0.0</version>
      <configuration>
        <lifecycleMappingMetadata>
          <pluginExecutions>
            <pluginExecution>
              <pluginExecutionFilter>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>exec-maven-plugin</artifactId>
                <versionRange>[1.5.0,)</versionRange>
                <goals>
                  <goal>exec</goal>
                </goals>
              </pluginExecutionFilter>
              <action>
                <ignore></ignore>
              </action>
            </pluginExecution>
          </pluginExecutions>
        </lifecycleMappingMetadata>
      </configuration>
    </plugin>
  </plugins>
</pluginManagement>

可以用插件执行节点中的一行替换:

<?m2e ignore?>

在此处输入图像描述

有关详细信息,请参阅发行说明

于 2016-06-22T21:25:30.097 回答
29

将插件执行的 Maven 首选项从错误更改为忽略

于 2016-09-21T18:59:01.247 回答
21

作为先前答案的附录——如果您不能或不想将所有这些样板添加到您的项目 POM 中,我刚刚发现了一种解决方法。如果您查看以下位置:

{Eclipse_folder}/plugins/org.eclipse.m2e.lifecyclemapping.defaults_{m2e_version}

您应该找到一个名为的文件lifecycle-mapping-metadata.xml,您可以在其中进行与其他答案和未涵盖的 M2E 插件执行中描述的相同的更改。

于 2012-05-16T18:44:23.903 回答
18

我在使用 Eclipse v3.7 (Indigo) 和 m2eclipse 作为我的 Maven 插件时遇到了同样的问题。通过在插件定义中明确说明执行阶段,该错误很容易解决。所以我的 pom 看起来像这样:

<project>
    ...
    <build>
        ...
        <plugins>
            <plugin>

                <groupId>org.codehaus.mojo</groupId>
                <artifactId>buildnumber-maven-plugin</artifactId>
                <version>1.0</version>

                <configuration>
                    <timestampFormat>yyyy-MM-dd_HH-mm-ss</timestampFormat>
                </configuration>

                <executions>
                    <execution>
                        *<phase>post-clean</phase>*
                        <goals>
                            <goal>create-timestamp</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
        ...
于 2011-09-14T07:15:30.163 回答
10
  1. 转到帮助 > 安装新软件...
  2. 使用此软件存储库

    确保选中“安装期间联系所有更新站点以查找所需软件”。

  3. 安装 AJDT m2e 配置器

资料来源:升级 SpringSource Tool Suite 2.8.0 的 Maven 集成(Andrew Eisenberg)

如果您没有安装 ADJT,这应该会自动安装它,但如果没有,请先从“Indigo 更新站点”(根据您的 Eclipse 版本)安装 AspectJ 开发工具 (ADJT)。

有关AspectJ 开发工具站点的更多信息。

于 2011-11-12T17:29:02.083 回答
9

我在使用 indigo 和需要从 XSD 生成 Java 源代码的项目时遇到了同样的问题。
本页所述,我可以通过提供缺少的生命周期映射来修复它

于 2011-07-01T09:14:45.217 回答
9

我在博文Upgrading Maven integration for SpringSource Tool Suite 2.8.0之后修复了它。

请遵循“呃哦……我的项目不再构建”部分的建议。即使它是为 SpringSource Tool Suite 设计的,我也用它来修复常规的 Eclipse 安装。我不必修改我的 pom 文件。

于 2011-10-21T16:07:22.917 回答
9

转到workspace/rtc-ws/.metadata/.plugins/org.eclipse.m2e.core/lifecycle-mapping-metadata.xml然后创建lifecycle-mapping-metadata.xml文件并在下面粘贴并重新加载配置,如下所示

如果您使用的是 Eclipse 4.2 并且在映射方面遇到问题并且不会在您的文件中pom.xml创建新文件,请lifecycle-mapping-metadata.xml在其中配置它Windows -> Preferences -> Lifecycle mapping (不要忘记在每次更改此文件后按重新加载工作区生命周期映射元数据!)。这是基于示例eclipse/plugins/org.eclipse.m2e.lifecyclemapping.defaults_1.2.0.20120903-1050.jar/lifecycle-mapping-metadata.xml

<?xml version="1.0" encoding="UTF-8"?>
<lifecycleMappingMetadata>
    <pluginExecutions>
        <pluginExecution>
            <pluginExecutionFilter>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>buildnumber-maven-plugin</artifactId>
                <goals>
                    <goal>create-timestamp</goal>
                </goals>
                <versionRange>[0.0,)</versionRange>
            </pluginExecutionFilter>
            <action>
                <ignore />
            </action>
        </pluginExecution>

        <pluginExecution>
            <pluginExecutionFilter>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-dependency-plugin</artifactId>
                <goals>
                    <goal>list</goal>
                </goals>
                <versionRange>[0.0,)</versionRange>
            </pluginExecutionFilter>
            <action>
                <ignore />
            </action>
        </pluginExecution>

        <pluginExecution>
            <pluginExecutionFilter>
                <groupId>org.zeroturnaround</groupId>
                <artifactId>jrebel-maven-plugin</artifactId>
                <goals>
                    <goal>generate</goal>
                </goals>
                <versionRange>[0.0,)</versionRange>
            </pluginExecutionFilter>
            <action>
                <ignore />
            </action>
        </pluginExecution>

        <pluginExecution>
            <pluginExecutionFilter>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>gwt-maven-plugin</artifactId>
                <goals>
                    <goal>compile</goal>
                </goals>
                <versionRange>[0.0,)</versionRange>
            </pluginExecutionFilter>
            <action>
                <ignore />
            </action>
        </pluginExecution>

        <pluginExecution>
            <pluginExecutionFilter>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-dependency-plugin</artifactId>
                <goals>
                    <goal>copy-dependencies</goal>
                    <goal>unpack</goal>
                </goals>
                <versionRange>[0.0,)</versionRange>
            </pluginExecutionFilter>
            <action>
                <ignore />
            </action>
        </pluginExecution>

        <pluginExecution>
            <pluginExecutionFilter>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-antrun-plugin</artifactId>
                <versionRange>[1.7,)</versionRange>
                <goals>
                    <goal>run</goal>
                </goals>
            </pluginExecutionFilter>
            <action>
                <ignore />
            </action>
        </pluginExecution>


        <pluginExecution>
            <pluginExecutionFilter>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-checkstyle-plugin</artifactId>
                <versionRange>[2.8,)</versionRange>
                <goals>
                    <goal>check</goal>
                </goals>
            </pluginExecutionFilter>
            <action>
                <ignore />
            </action>
        </pluginExecution>

    </pluginExecutions>
</lifecycleMappingMetadata>
于 2013-06-18T11:46:43.930 回答
6

由于缺少 m2e 连接器,此错误也会发生在霓虹灯上。解决方案:悬停错误并选择 - 发现新的 m2e 连接器。

它将安装新的连接器,就是这样。

于 2017-04-20T00:41:45.963 回答
5

使用m2e 0.12,来自 Sonatype 的最新版本。

于 2011-11-22T12:46:34.723 回答
4

更新 m2e 后我遇到了完全相同的问题,并通过重新安装 Maven Integration for Eclipse WTP 解决了这个问题。

事实证明,我卸载它试图将 m2e 从版本 0.x 更新到 1.x

于 2011-12-21T20:11:50.983 回答
4

我正在使用

<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.6</version>
<executions>
    <execution>
        <id>runSomeAntTasks</id>
        <phase>test-compile</phase>
        .
        .
        <goals>
            <goal>run</goal>
        </goals>
    </execution>
</executions>

并将其更改为

<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.6</version>
<executions>
    <execution>
        <id>runSomeAntTasks</id>
        <phase>integration-test</phase>
        .
        .
        
        <goals>
            <goal>run</goal>
        </goals>
    </execution>
</executions>

错误消失了。也许不建议将执行绑定到测试编译阶段,因此找到一个不同的阶段可能是将插件管理配置添加到 Maven 生命周期的替代解决方案。

于 2012-05-03T16:38:41.307 回答
4

哪里可以找到 WTP:

将鼠标放在 pom.xml 中的 <plugin> 和“发现新的 m2e 连接器”上。

我安装了所有默认检查的内容,并且可以正常工作。

于 2014-07-25T23:43:07.637 回答
3

我今天遇到了这个问题。我使用的是 STS 3.4 及其捆绑的 Roo 1.2.4。后来我尝试了 Eclipse Kepler 和 Roo 1.2.5,同样的错误。

我已经更改了我的 pom.xml,在构建之后和插件声明之前添加了 pluginTemplates 标记,但没有奏效。

是什么让我如此神奇:

  • 使用 jdk 1.7.0_51
  • 下载 Roo 1.2.5
  • 已下载 Maven 3.2.1(如果没有,执行“执行 eclipse”时出现此错误“error=2, no such file or directory”)
  • 在我的 PATH 上配置了 JDK、Roo 和 Maven bin 目录:

    export PATH=/opt/jdk1.7.0_51/bin:$PATH export PATH=/opt/spring-roo-1.2.5.RELEASE/bin:$PATH export PATH=/opt/apache-maven-3.2.1/bin :$路径

使我的配置如下:(http://docs.spring.io/spring-roo/reference/html/beginning.html

$ mkdir hello 
$ cd hello
$ roo.sh
roo> project --topLevelPackage com.foo
roo> jpa setup --provider HIBERNATE --database HYPERSONIC_PERSISTENT 
roo> web mvc setup
roo> perform eclipse

用 Eclipse 打开(没有 STS,但我想它可以工作): 导入 -> 现有项目到工作区

于 2014-03-10T20:24:42.010 回答
2

改变

<artifactId>aspectj-maven-plugin</artifactId>
<version>1.2</version>

进入

<artifactId>aspectj-maven-plugin</artifactId>
<version>1.3</version>

为我解决了这个问题。

于 2011-10-25T21:04:38.980 回答
2

我建议您不要弄乱您的 pom 文件,而是转到Show ViewMarkers in Eclipse,选择并删除相应错误的标记。

于 2013-10-29T10:48:50.603 回答
2

我在使用 maven thrift 插件时遇到了完全相同的问题。这是我的解决方案,不需要弄乱你的 pom.xml:

  1. 使用命令行 maven 实用程序 mvn

    mvn 日食:日食

    创建一个eclipse项目

  2. 在eclipse中导入项目。记得使用

    文件 > 导入 > 常规 > 现有项目到工作区

    将项目添加到您的工作区。

这应该可以解决问题。

于 2014-06-12T16:32:44.567 回答
2

这个答案和上面的顶级插件管理答案一样好(也就是说,这很糟糕)。

只需删除 pom.xml 中所有有问题的 xml 代码即可。

完毕。问题解决了(除非你刚刚破坏了你的 Maven 配置......)。

在执行任何这些解决方案之前,开发人员应该非常小心他们了解插件管理标签。只是随机地围绕你的插件进行插件管理很可能会破坏其他所有人的 maven 构建,只是为了让 eclipse 工作。

于 2016-04-12T14:11:28.907 回答
1

我按照 GUI 提示找到了任何连接器,然后我从 SpringSource Team 找到了 AspectJ Integrator。安装好之后就解决了。

于 2012-02-04T15:43:01.950 回答
1

我使用 Eclipse v4.3 (Kepler) 和 Maven 3.1 遇到了这个问题。

解决方案是为您的 Eclipse 项目使用 JDK 而不是 JRE。确保尝试maven clean从 Eclipse 进行测试以下载丢失的 JAR 文件。

于 2013-08-21T09:35:32.230 回答
1

如果您使用的是 Eclipse Juno,则可能是Maven Integration For Eclipse WTP的问题。所以从 Eclipse Market Place 安装相同的。

在 Eclipse IDE 帮助>>Eclipse Market Place >> 中输入查询 wtp,它将显示 Maven 集成为 Eclipse WTP for Juno,安装它并更新 maven 依赖项并享受

于 2014-04-08T13:57:07.987 回答
1

我得到了同样的错误。完成以下操作后它消失了。

  1. 右键单击项目。
  2. 选择 Maven > 更新项目...
于 2015-11-15T14:51:09.923 回答
1

您可以在 Eclipse 中抑制此错误:Window -> Preferences -> Maven -> Error/Warnings

于 2016-10-11T13:01:13.843 回答
0

对我来说,这是由 AspectJ 类引起的。我在 Discovery 下找不到可以提供帮助的插件。因此,我通过复制现有 STS 安装的插件和功能文件夹下的 org.maven.ide.eclipse.ajdt 文件来解决此问题。

我知道,非常粗鲁的做法。

于 2013-06-12T00:09:31.670 回答
0

我多年来一直遇到这个问题......日食'耻辱。如果您的应用程序被拆分为 maven 模块,那么您可以考虑从 IDE 中删除受影响的模块,每当您需要使用 maven 命令行重新生成/运行插件时install,eclipse 就会对本地存储库中存在的准备好的工件感到满意。无需摆弄

于 2016-10-10T17:43:06.517 回答
-2

当您使用插件不支持的生命周期阶段时会发生错误。因此,解决方法是更改​​与插件一起使用的生命周期阶段。

于 2013-05-17T07:46:04.183 回答