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


当前回答

对我来说,这是由AspectJ类引起的。我在Discovery里找不到一个能帮上忙的插件。因此,我通过复制现有STS安装的插件和特性文件夹下的org.maven.ide.eclipse.ajdt文件来解决这个问题。

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

其他回答

大多数答案都是关于忽略错误和其他建议的解决方案在我的案例中不起作用[对于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…

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

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

见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.

多年来我一直遇到这个问题……eclipse的耻辱。如果你的应用程序被分割成maven模块,那么你可以考虑从IDE中删除受影响的模块,无论何时你需要重新生成/运行插件使用maven命令行安装,eclipse都很乐意在你的本地存储库中提供准备好的工件。不需要耍花招。

哪里可以找到WTP:

鼠标在pom.xml中的<插件>上,然后“发现新的m2e连接器”。

我安装了他们所有的默认检查和它的工作。