插件运行在Eclipse朱诺未涵盖的生命周期配置的错误(Plugin execution not c

2019-08-21 14:23发布

为什么我的Maven构建工作在命令行上完全正常,但是当我在Eclipse中运行,它需要我补充这部分我的pom.xml,否则我得到这个错误:

Plugin execution not covered by lifecycle configuration
: org.apache.maven.plugins:maven-compiler-plugin:3.1:testCompile
 (execution: default-testCompile, phase: test-compile)

这不是很奇怪的是,发生这种情况,围绕“Maven的编译器插件”插件? 我找不到像谷歌这样的任何地方另外一个问题,虽然我发现身边第三方插件许多修正建议。 我已经做了研究,并搜索大量没有发现的这种解释,甚至没有从这里开始 。

和所需的pom.xml来解决这个问题:

<!--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.apache.maven.plugins</groupId>
                        <artifactId>maven-compiler-plugin</artifactId>
                        <versionRange>[3.1,)</versionRange>
                        <goals>
                            <goal>testCompile</goal>
                        </goals>
                    </pluginExecutionFilter>
                    <action> 
                        <ignore></ignore>
                    </action>
                </pluginExecution>
            </pluginExecutions>
        </lifecycleMappingMetadata>
    </configuration>
</plugin>

而且, 这里是我在GitHub上简单的项目 ,如果你想看到我的消息来源。

Answer 1:

我终于解决了它。 看来,“pluginManagement”节我张贴以上是由一般一个Eclipse的Maven项目所需要的,即使我拒绝了它,即使没有文件,我可以找到在互联网上曾经提到了这一点明确。

此外,“versionRange”生命周期中的排部似乎也需要“gmaven-插件”,而不是“Maven的版本”,我试图给它上面的版本号。

<pluginExecutionFilter>
    <groupId>org.codehaus.gmaven</groupId>
    <artifactId>gmaven-plugin</artifactId>
    <versionRange>[1.5,)</versionRange>
    <goals>
        <goal>testCompile</goal>
        <goal>compile</goal>
    </goals>
</pluginExecutionFilter>


Answer 2:

您可能需要M2E“连接器”了解Maven的编译器插件使用Eclipse(JDT)编译器。

选择“发现连接器”,并选择由JBoss提供的Eclipse JDT编译M2E连接器或手动安装。

M2E连接器为Eclipse JDT编译器1.0.1.201209200903

您也可以提供一个Groovy连接器 - 这可能是利用类似的技术引擎盖下? - 但除非你正在使用Groovy,它可能没有意义安装这种整合。



Answer 3:

  1. 帮助 - >安装新软件

    • 安装Groovy编译器2.2 / 2.1特性

    • 安装的Groovy-Eclipse的集成M2E

  2. 窗口 - >首选项 - >的Maven - >生命周期映射 - >打开的工作区的生命周期的映射元数据

添加下面的XML:

<?xml version="1.0" encoding="UTF-8"?>
<lifecycleMappingMetadata>
    <pluginExecutions>
        <pluginExecution>
            <pluginExecutionFilter>
                <groupId>org.codehaus.gmaven</groupId>
                <artifactId>gmaven-plugin</artifactId>
                <versionRange>[1.3,)</versionRange>
                <goals>
                    <goal>compile</goal>
                    <goal>testCompile</goal>
                </goals>
            </pluginExecutionFilter>
            <action>
                <execute />
            </action>
        </pluginExecution>
    </pluginExecutions>
</lifecycleMappingMetadata>
  1. 刷新生命周期映射并调用你的Maven项目PROJEKT更新。 (ALT + F5)


文章来源: Plugin execution not covered by lifecycle configuration error in Eclipse Juno
标签: maven maven-3