生命周期配置未涵盖插件执行:org.codehaus.mojo:

时间:2019-09-03 08:32:34

标签: java maven eclipse-plugin

最近,我导入了一个关于月食氧气的Maven项目。我的构建成功,但是在标记中的pom.xml中遇到了一些错误。错误是

  

“生命周期配置未涵盖插件执行:   org.codehaus.mojo:flatten-maven-plugin:1.1.0:flatten(执行:   展平,阶段:过程资源)       “

任何人都可以帮助。谢谢!

3 个答案:

答案 0 :(得分:2)

这本身不是错误。这是由于how m2eclipse plugin works

简而言之,Eclipse的插件不会像在命令行上那样执行maven生命周期。它需要“控制”构建,以便:

  • 编译项​​目本身,而不使用Maven
  • 相应地更新用户界面
  • 更新项目的设置
  • ...

但是它无法预先知道每个Maven插件的功能,并且执行它是否有意义。试图在这种非典型的Maven构建过程中运行所有内容,通常会导致许多问题。因此,决定引入“项目构建生命周期映射”:

  

为解决这些长期存在的问题,M2Eclipse 1.0要求明确说明如何处理与项目的“有趣”阶段(请参阅[M2E有趣的生命周期阶段](M2E有趣的生命周期阶段“ wikilink”)绑定)的所有Maven插件。建立生命周期。我们将这些指令称为“项目构建生命周期映射”或简称为“生命周期映射”,因为它们定义了m2e如何将信息从项目pom.xml文件映射到Eclipse工作空间项目配置以及Eclipse工作空间构建过程中的行为。

因此,您收到的消息意味着M2Eclipse没有为org.codehaus.mojo:flatten-maven-plugin:1.1.0:flatten插件执行提供“项目构建生命周期映射”。根据您对该插件的使用情况,可以将M2Eclipse配置为Ignore Plugin GoalExecute Plugin Goal

答案 1 :(得分:0)

您可以将错误标记的严重性降低为“警告”,因为它们不会影响Maven构建。在window-> preferences-> maven-> errors

答案 2 :(得分:0)

所以我去了Milen dyankov在他的答案中显示的链接,那里有一个插件管理部分的模板要添加到父pom中。我用flatten的值(goal,groupId,....)填充了模板,现在它对子pom来说在月食中没有染成红色,也没有给出错误。

将此添加到父pom:

    <pluginManagement>
         <plugins>
             <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>flatten-maven-plugin</artifactId>
                                    <versionRange>[1.0.0,)</versionRange>
                                    <goals>
                                        <goal>flatten</goal>
                                    </goals>
                                </pluginExecutionFilter>
                                <action>
                                    <execute>
                                        <runOnIncremental>false</runOnIncremental>
                                    </execute>
                                </action>
                            </pluginExecution>
                        </pluginExecutions>
                    </lifecycleMappingMetadata>
                </configuration>
            </plugin>
        </plugins>
    </pluginManagement>