我正在尝试使用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专家,所以如果可能的话,请在回答中说明一下。
真是一团糟。我不记得我在哪里发现的,但我不得不添加以下内容来让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插件。
见https://www.eclipse.org/m2e/documentation/m2e-execution-not-covered.html 。
为了解决一些长期存在的问题。 m2e 1.0需要明确说明 如何处理所有的Maven插件 绑定到"有趣"的阶段。 项目构建生命周期。我们把这些 指示>项目构建周期"。 映射"或简单的"生命周期映射"。 因为它们定义了m2e如何映射 信息从项目pom.xml文件 到Eclipse工作区项目 配置和行为,在 Eclipse工作空间的构建。
项目构建生命周期的映射 配置可以指定在 项目pom.xml中,由 Eclipse插件,也有 默认配置的一些 常用的Maven插件。 与m2e一起。我们称这些为"生命周期 映射元数据源"。 m2e会 创建错误标记,如下所示 插件的执行都没有 生命周期映射在任何一个 映射元数据源。
插件的执行没有被生命周期配置覆盖。 org.apache.maven.plugins:maven-antrun-plugin:1.3:run (执行:生成-资源-输入,阶段:生成-资源)
m2e匹配插件 执行到行动,使用 组合的插件groupId, artifactId,版本范围和目标。 m2e有三个基本动作 可以被指示对一个插件进行操作 执行 -- 忽略,执行和 委托给一个项目的配置器。