我正在尝试使用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 专家,所以如果可能的话,请在答案中说明一点。
在我遇到类似问题的情况下,不是使用 Andrew 的修复建议,而是在我将
<build>
<pluginManagement>
<plugins>
<plugin> ... </plugin>
<plugin> ... </plugin>
....
</plugins>
</pluginManagement>
</build>
一旦这个结构到位,错误就会消失。
真是一团糟。我不记得我在哪里找到了这个,但我必须添加以下内容才能让 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 插件 。
Eclipse m2e 文档中的建议解决方案:
使用快速修复 pom.xml 中的错误并选择Permanently mark goal run in pom.xml as ignored in Eclipse build
- 这将为您生成所需的样板代码。
要指示 Eclipse 在构建期间运行插件 - 只需在生成的配置中用<execute/>
标记替换<ignore/>
标记:
<action>
<execute/>
</action>
或者,您可以指示 Eclipse 在增量构建上运行插件:
<action>
<execute>
<runOnIncremental>true</runOnIncremental>
</execute >
</action>