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


当前回答

如果您正在使用Eclipse Juno,则可能是Eclipse WTP的Maven集成问题。所以从Eclipse Market Place安装同样的程序。

在Eclipse IDE中 帮助>>Eclipse Market Place >>键入查询wtp,它将显示maven集成Eclipse wtp为Juno,安装它并更新maven依赖项和享受

其他回答

将插件执行的Maven首选项从错误更改为忽略

Eclipse m2e文档中的建议解决方案:

Use quick-fix on the error in pom.xml and select Permanently mark goal run in pom.xml as ignored in Eclipse build - this will generate the required boilerplate code for you. To instruct Eclipse to run your plugin during build - just replace the <ignore/> tag with <execute/> tag in the generated configuration: <action> <execute/> </action> Alternatively you can instruct Eclipse to run the plugin on incremental builds as well: <action> <execute> <runOnIncremental>true</runOnIncremental> </execute > </action>

见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,但我猜它工作):导入>现有项目到工作区

作为前面答案的补充——如果您不能或不想将所有这些样板文件添加到您的项目POM中,我发现了一个变通方法。如果你看下面的位置:

{Eclipse_folder}/plugins/org.eclipse.m2e.lifecyclemapping.defaults_{m2e_version}

您应该可以找到一个名为lifecycle-mapping-metadata.xml的文件,您可以在其中进行与其他答案中描述的相同的更改,以及M2E插件执行中没有涉及到的更改。