提问



我正在尝试使用Spring Data和Neo4j。我开始尝试按照主站点链接的本指南。特别是我把我的pom.xml从Hello,World!开始。示例文件。这是我的pom.xml中针对导致问题的插件的剪辑... [29] [30] [31]


<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并仍然得到了相同的错误。[32] [33]

最佳参考


在我的类似问题的情况下,而不是使用安德鲁的修复建议,它只是在我将< pluginManagement> 标记引入有问题的pom.xml之后才起作用。看起来这个错误是由于缺少< pluginManagement>标记。因此,为了避免Eclipse中的异常,看起来需要简单地将所有插件标记括在< pluginManagement> 标记内,如下所示:


<build>
    <pluginManagement>
        <plugins>
            <plugin> ... </plugin>
            <plugin> ... </plugin>
                  ....
        </plugins>
    </pluginManagement>
</build>


一旦这个结构到位,错误就会消失。

其它参考1


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

其它参考2


解决这个问题的最快方法是
(来自Eclipse m2e文档):[35]



  1. pom.xml 中的错误使用 快速修复 并选择Permanently mark goal run in pom.xml as ignored in Eclipse build - 这将为您生成所需的样板代码。

  2. 之后只需在生成的配置中用<execute/>标签替换<ignore/>标签,然后你就完成了:


    <action>
        <execute/>
    </action>
    


其它参考3


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


窗口> 首选项> Maven > 错误/警告> 生命周期配置未涵盖的插件执行。根据需要选择忽略/警告/错误。


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


这是一种更清除的方式,因为它不会修改你的pom.xml


您需要执行 Maven > 更新项目以在任何其他项目中修复相同的错误。

其它参考4


请参阅https://www.eclipse.org/m2e/documentation/m2e-execution-not-covered.html。[36]



  要解决一些长期存在的问题,
  m2e 1.0需要明确的指示
  如何处理所有Maven插件
  必然会有有趣的阶段
  项目构建生命周期。我们称之为
  说明项目构建生命周期
  映射或简单地生命周期映射
  因为他们定义m2e映射的方式
  项目pom.xml文件中的信息
  到Eclipse工作区项目
  期间的配置和行为
  Eclipse工作区构建。

  
  项目构建生命周期映射
  配置可以在。中指定
  项目pom.xml,贡献者
  Eclipse插件也有
  一些默认配置
  常用的Maven插件出货
  与m2e。我们将这些称为生命周期
  映射元数据源.m2e将
  为所有人创建如下所示的错误标记
  没有的插件执行
  生命周期映射中的任何一个
  映射元数据源。


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匹配插件
  执行使用的操作
  插件groupId的组合,
  artifactId,版本范围和目标。
  m2e有三个基本动作
  可以指示使用插件
  执行 - 忽略执行
  委托项目配置程序


其它参考5


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


您可以从首选项访问m2e市场:首选项> Maven>发现>打开目录
安装 WTP集成为我解决了大多数插件问题。

其它参考6


作为之前答案的附录 - 如果您不想或者不想将所有这些样板添加到项目POM中,我会发现一种解决方法。如果您查看以下位置:


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


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

其它参考7


请注意,今天的Eclipse Neon版本系列中提供的M2Eclipse(m2e)版本1.7.0支持用于指定生命周期映射元数据的新语法。结果是这样的样板(这里我们告诉m2e忽略目标):


<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>exec-maven-plugin</artifactId>
                <versionRange>[1.5.0,)</versionRange>
                <goals>
                  <goal>exec</goal>
                </goals>
              </pluginExecutionFilter>
              <action>
                <ignore></ignore>
              </action>
            </pluginExecution>
          </pluginExecutions>
        </lifecycleMappingMetadata>
      </configuration>
    </plugin>
  </plugins>
</pluginManagement>


可以在插件的执行节点中用一行替换:


<?m2e ignore?>


[38]


有关详细信息,请参阅发行说明[39]

其它参考8


我在Eclipse  v3.7(Indigo)和m2eclipse作为我的Maven插件遇到了同样的问题。通过在插件定义中明确说明执行阶段,可以轻松解决错误。
所以我的pom看起来像这样:


<project>
    ...
    <build>
        ...
        <plugins>
            <plugin>

                <groupId>org.codehaus.mojo</groupId>
                <artifactId>buildnumber-maven-plugin</artifactId>
                <version>1.0</version>

                <configuration>
                    <timestampFormat>yyyy-MM-dd_HH-mm-ss</timestampFormat>
                </configuration>

                <executions>
                    <execution>
                        *<phase>post-clean</phase>*
                        <goals>
                            <goal>create-timestamp</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
        ...

其它参考9


[40]


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

其它参考10



  1. 转到帮助>安装新软件...

  2. 使用此软件存储库[41]


    确保选中在安装期间联系所有更新站点以查找所需的软件。

  3. 安装AJDT m2e配置器



来源:升级SpringSource Tool Suite 2.8.0的Maven集成(Andrew Eisenberg)[42]


这应该会自动安装ADJT,如果你没有安装它,但如果没有安装它,首先从Indigo更新站点(根据你的Eclipse版本)安装AspectJ开发工具(ADJT)。


关于AspectJ开发工具网站的更多信息。 [43]

其它参考11


我对indigo和一个需要从XSD生成Java源代码的项目有同样的问题。

我可以通过提供缺少的生命周期映射来修复它,如本页所述[44]

其它参考12


转到workspace/rtc-ws/.metadata/.plugins/org.eclipse.m2e.core/lifecycle-mapping-metadata.xml然后创建lifecycle-mapping-metadata.xml文件并粘贴到下面并重新加载配置如下


如果您正在使用Eclipse 4.2并且遇到映射问题并且不会弄乱您的pom.xml创建新文件lifecycle-mapping-metadata.xmlWindows -> Preferences -> Lifecycle mapping中配置它(不要忘记按Reload工作空间生命周期映射)每次更改此文件后的元数据!)。这是基于eclipse/plugins/org.eclipse.m2e.lifecyclemapping.defaults_1.2.0.20120903-1050.jar/lifecycle-mapping-metadata.xml的例子


<?xml version="1.0" encoding="UTF-8"?>
<lifecycleMappingMetadata>
    <pluginExecutions>
        <pluginExecution>
            <pluginExecutionFilter>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>buildnumber-maven-plugin</artifactId>
                <goals>
                    <goal>create-timestamp</goal>
                </goals>
                <versionRange>[0.0,)</versionRange>
            </pluginExecutionFilter>
            <action>
                <ignore />
            </action>
        </pluginExecution>

        <pluginExecution>
            <pluginExecutionFilter>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-dependency-plugin</artifactId>
                <goals>
                    <goal>list</goal>
                </goals>
                <versionRange>[0.0,)</versionRange>
            </pluginExecutionFilter>
            <action>
                <ignore />
            </action>
        </pluginExecution>

        <pluginExecution>
            <pluginExecutionFilter>
                <groupId>org.zeroturnaround</groupId>
                <artifactId>jrebel-maven-plugin</artifactId>
                <goals>
                    <goal>generate</goal>
                </goals>
                <versionRange>[0.0,)</versionRange>
            </pluginExecutionFilter>
            <action>
                <ignore />
            </action>
        </pluginExecution>

        <pluginExecution>
            <pluginExecutionFilter>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>gwt-maven-plugin</artifactId>
                <goals>
                    <goal>compile</goal>
                </goals>
                <versionRange>[0.0,)</versionRange>
            </pluginExecutionFilter>
            <action>
                <ignore />
            </action>
        </pluginExecution>

        <pluginExecution>
            <pluginExecutionFilter>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-dependency-plugin</artifactId>
                <goals>
                    <goal>copy-dependencies</goal>
                    <goal>unpack</goal>
                </goals>
                <versionRange>[0.0,)</versionRange>
            </pluginExecutionFilter>
            <action>
                <ignore />
            </action>
        </pluginExecution>

        <pluginExecution>
            <pluginExecutionFilter>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-antrun-plugin</artifactId>
                <versionRange>[1.7,)</versionRange>
                <goals>
                    <goal>run</goal>
                </goals>
            </pluginExecutionFilter>
            <action>
                <ignore />
            </action>
        </pluginExecution>


        <pluginExecution>
            <pluginExecutionFilter>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-checkstyle-plugin</artifactId>
                <versionRange>[2.8,)</versionRange>
                <goals>
                    <goal>check</goal>
                </goals>
            </pluginExecutionFilter>
            <action>
                <ignore />
            </action>
        </pluginExecution>

    </pluginExecutions>
</lifecycleMappingMetadata>

其它参考13


我在博客文章升级SpringSource Tool Suite 2.8.0的Maven集成后修复了它。[45]


按照呃哦......我的项目不再构建一节中的建议。即使它是用于SpringSource Tool Suite,我也用它来修复常规的Eclipse安装。我没有必要修改我的pom文件。

其它参考14


使用m2e 0.12,最新版本来自Sonatype。[46]

其它参考15


我在用


<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.6</version>
<executions>
    <execution>
        <id>runSomeAntTasks</id>
        <phase>test-compile</phase>
        .
        .
        <goals>
            <goal>run</goal>
        </goals>
    </execution>
</executions>


并改为


<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.6</version>
<executions>
<execution>
    <id>runSomeAntTasks</id>
    <phase>integration-test</phase>
        .
        .

        <goals>
            <goal>run</goal>
        </goals>
    </execution>
</executions>


并且错误消失了。也许不建议将执行绑定到测试 - 编译阶段,因此找到不同的阶段可能是将插件管理配置添加到maven生命周期的替代解决方案。

其它参考16


在哪里找到WTP:


鼠标按下<插件>在pom.xml和发现新的m2e连接器。


我安装了默认选中的所有内容并且它可以正常工作。

其它参考17


更新m2e后我遇到了完全相同的问题,并通过重新安装Maven Integration for Eclipse WTP解决了这个问题。


事实证明,我卸载它试图将m2e从版本0.x更新为1.x.

其它参考18


由于缺少m2e连接器,也会在霓虹灯上发生此错误。
解:
悬停错误并选择 - 发现新的m2e连接器。


它将安装新的连接器,就是这样。

其它参考19


我今天遇到了这个问题。我正在使用STS 3.4及其捆绑的Roo 1.2.4。后来我尝试使用Eclipse Kepler和Roo 1.2.5,同样的错误。


我已经改变了我的pom.xml,在构建之后和插件声明之前添加了pluginTemplates标签但是没有用。


是什么让我感到神奇:



  • 使用jdk 1.7.0_51

  • Downloaded Roo 1.2.5

  • 下载Maven 3.2.1(如果没有,当执行执行eclipse时出现此错误error=2,没有这样的文件或目录)

  • 在我的PATH上配置了JDK,Roo和Maven bin目录:


    export PATH =/opt/jdk1.7.0_51/bin:$ PATH
    export PATH =/opt/spring-roo-1.2.5.RELEASE/bin:$ PATH
    export PATH =/opt/apache-maven-3.2.1/bin:$ PATH



我的配置如下:
(http://docs.spring.io/spring-roo/reference/html/beginning.html)[47]


$ 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,但我猜它有效):导入 - >现有项目到Workspace

其它参考20


我建议你去Eclipse中的 Show View → Markers ,而不是弄乱你的pom文件,选择并删除相应错误的标记。

其它参考21


如果您使用的是Eclipse Juno,则可能是 Maven Integration For Eclipse WTP 的问题。所以从Eclipse Market Place安装相同的内容。


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

其它参考22


我遇到了与maven thrift插件完全相同的问题。这是我的解决方案,无需弄乱你的pom.xml:



  1. 使用命令行maven utility mvn



      mvn eclipse:eclipse



    创建一个eclipse项目

  2. 在eclipse中导入项目。记得要用



      文件>导入>常规>现有项目到工作区



    将项目添加到工作区中。



这应该可以解决问题。

其它参考23


我得到了同样的错误。做完以下后就消失了。



  1. 右键点击该项目。

  2. 选择Maven>更新项目...


其它参考24


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


只需删除pom中所有有问题的xml代码即可。


完成。问题解决了(除了你刚刚打破你的maven配置......)。


在进行任何这些解决方案之前,Devs应该非常小心他们理解插件管理标签。
只是对你的插件进行插件管理是随机的,可能会打破其他人的maven构建只是为了让eclipse工作。

其它参考25


你可以在eclipse中压制这个错误:
窗口 - >首选项 - > Maven - >错误/警告

其它参考26


更改


<artifactId>aspectj-maven-plugin</artifactId>
<version>1.2</version>





<artifactId>aspectj-maven-plugin</artifactId>
<version>1.3</version>


为我解决了这个问题。

其它参考27


我按照GUI提示找到任何连接器,然后我从SpringSource Team找到了AspectJ Integrator。安装完成后就结算了。

其它参考28


我使用Eclipse  v4.3(Kepler)和Maven 3.1遇到了这个问题。


解决方案是为Eclipse项目使用JDK而不是JRE。确保尝试maven clean并从Eclipse测试只是为了下载丢失的JAR文件。

其它参考29


对我来说,这是由AspectJ类引起的。我无法在Discovery下找到一个可以提供帮助的插件。所以,我通过复制现有STS安装的插件和功能文件夹下的org.maven.ide.eclipse.ajdt文件来解决这个问题。


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