我正在尝试使用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通过这个更新网站,仍然得到相同的错误。


当前回答

真是一团糟。我不记得我在哪里找到了这个,但我必须添加以下内容才能让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插件。

其他回答

我在SpringSource Tool Suite 2.8.0升级Maven集成的博文中修复了它。

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

我得到了同样的错误。做了下面这些之后,它就消失了。

右键单击项目。 选择Maven >更新项目…

m2e 0.13引入了m2e连接器和m2e市场,扩展了m2e功能。 它就像旧的m2e-extras存储库。

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

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

只需删除pom中所有违规的xml代码。

完成了。问题解决了(除了你破坏了你的maven配置…)。

开发人员在使用任何这些解决方案之前都应该非常小心地理解插件管理标签。 仅仅在您的插件上随意地添加插件管理很可能会破坏其他所有人的maven构建,只是为了让eclipse工作。

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

窗口>首选项> Maven >错误/警告>插件执行没有被生命周期配置覆盖。选择忽略/警告/错误。

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

这是一种更干净的方式,因为它不会修改pom.xml。

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


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

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