我正在尝试使用Spring Data和Neo4j。我开始尝试遵循这个由主站点链接的指南。特别地,我基于“Hello, World!”示例文件创建了pom.xml。这是从我的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通过这个更新网站,仍然得到相同的错误。


当前回答

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

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

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

其他回答

大多数答案都是关于忽略错误和其他建议的解决方案在我的案例中不起作用[对于maven-compiler-plugin]。我对这个问题的解决方案是:

进入系统中的.m2本地存储库,找到org.apache.maven.plugins目录: C:\Users\【用户名】\ .m2 \ maven存储库\ org \ apache \ \ plugins 从这个目录中删除maven-compiler-plugin文件夹 您可能需要关闭IDE (Eclipse) 之后,再次打开IDE并通过Maven更新项目 在Eclipse中右键单击项目根目录,选择Maven -> Update project…

我在使用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>
        ...

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

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

To solve some long-standing issues, m2e 1.0 requires explicit instructions what to do with all Maven plugins bound to "interesting" phases of project build lifecycle. We call these instructions "project build lifecycle mapping" or simply "lifecycle mapping" because they define how m2e maps information from project pom.xml file to Eclipse workspace project configuration and behaviour during Eclipse workspace build. Project build lifecycle mapping configuration can be specified in project pom.xml, contributed by Eclipse plugins and there is also default configuration for some commonly used Maven plugins shipped with m2e. We call these "lifecycle mapping metadata sources". m2e will create error marker like below for all plugin executions that do not have lifecycle mapping in any of the mapping metadata sources. 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 matches plugin executions to actions using combination of plugin groupId, artifactId, version range and goal. There are three basic actions that m2e can be instructed to do with a plugin execution -- ignore, execute and delegate to a project configurator.

我今天遇到了这个问题。我使用的是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(如果没有,当执行“perform eclipse”时出现“error=2,没有这样的文件或目录”) 配置的JDK, Roo和Maven bin目录在我的PATH: 导出路径= / opt / jdk1.7.0_51 / bin:美元的道路 导出路径= / opt / spring-roo-1.2.5.RELEASE / bin:美元的道路 导出路径= / 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,但我猜它工作):导入>现有项目到工作区