最近,我导入了一个关于月食氧气的Maven项目。我的构建成功,但是在标记中的pom.xml中遇到了一些错误。错误是
“生命周期配置未涵盖插件执行: org.codehaus.mojo:flatten-maven-plugin:1.1.0:flatten(执行: 展平,阶段:过程资源) “
任何人都可以帮助。谢谢!
答案 0 :(得分:2)
这本身不是错误。这是由于how m2eclipse plugin works。
简而言之,Eclipse的插件不会像在命令行上那样执行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 Goal或Execute 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>