Maven插件执行未被生命周期配置覆盖问题求助
Maven插件生命周期配置错误解决方案
问题描述
我有一个名为yyy的主项目,以及一个名为yyy-common-test的子模块项目,两者均被识别为Maven项目。子模块能识别父Maven项目及org.codehaus.groovy.maven的位置,但pom文件中报错:
Plugin execution is not covered by lifecycle configuration: org.codehaus.groovy.maven
已尝试执行Project Clean和Maven update(未找到Maven Dependencies Update选项),但所有模块的pom文件仍存在该错误。
环境配置
Eclipse Photon Java EE IDE for Web Developers. Version: 4.8.0.20180619-1200 Build id: 20180619-1200 Maven: apache-maven-3.9.4 org.eclipse.m2e.feature (1.9.0.20180606-2036) "Maven Integration for Eclipse" org.eclipse.m2e.logback.feature (1.9.0.20180606-2036) "m2e logback configuration" org.eclipse.m2e.wtp.feature (1.4.0.20180606-2005) "Maven Integration for Eclipse WTP" org.eclipse.m2e.wtp.jaxrs.feature (1.4.0.20180606-2005) "Maven JAX-RS Configurator" org.eclipse.m2e.wtp.jpa.feature (1.4.0.20180606-2005) "Maven JPA Configurator" org.eclipse.m2e.wtp.jsf.feature (1.4.0.20180606-2005) "Maven JSF Configurator" org.sonatype.m2e.mavenarchiver.feature (0.17.2.201606141937-signed-20160830073346) "m2e connector for the mavenarchiver and pom properties" ... org.apache.maven.resolver.api (1.0.3.v20170405-0725) "Maven Artifact Resolver API" [Resolved] org.apache.maven.resolver.connector.basic (1.0.3.v20170405-0725) "Maven Artifact Resolver Connector Basic" [Resolved] org.apache.maven.resolver.impl (1.0.3.v20170405-0725) "Maven Artifact Resolver Implementation" [Resolved] org.apache.maven.resolver.spi (1.0.3.v20170405-0725) "Maven Artifact Resolver SPI" [Resolved] org.apache.maven.resolver.transport.file (1.0.3.v20170405-0725) "Maven Artifact Resolver Transport File" [Resolved] org.apache.maven.resolver.transport.http (1.0.3.v20170405-0725) "Maven Artifact Resolver Transport HTTP" [Resolved] org.apache.maven.resolver.util (1.0.3.v20170405-0725) "Maven Artifact Resolver Utilities" [Resolved] ... org.eclipse.aether.maven (3.1.0.v20140706-2237) "Maven Aether Provider Bundle" [Resolved] org.eclipse.m2e.archetype.common (1.9.0.20180606-2035) "Maven Archetype Common Bundle" [Resolved] org.eclipse.m2e.binaryproject (1.9.0.20180606-2036) "Bundle-Name" [Starting] org.eclipse.m2e.binaryproject.ui (1.9.0.20180606-2036) "Bundle-Name" [Starting] org.eclipse.m2e.core (1.9.0.20180606-2036) "Maven Integration for Eclipse" [Active] org.eclipse.m2e.core.ui (1.9.0.20180606-2036) "Maven Integration for Eclipse" [Active] org.eclipse.m2e.discovery (1.9.0.20180606-2036) "m2e Marketplace" [Starting] org.eclipse.m2e.editor (1.9.0.20180606-2036) "Maven Integration for Eclipse (Editors)" [Active] org.eclipse.m2e.editor.xml (1.9.0.20180606-2036) "Maven POM XML Editor" [Active] org.eclipse.m2e.importer (1.9.0.20180606-2036) "m2e extension for import framework" [Starting] org.eclipse.m2e.jdt (1.9.0.20180606-2036) "Maven Integration for Eclipse JDT" [Active] org.eclipse.m2e.jdt.ui (1.9.0.20180606-2036) "Maven Integration for Eclipse JDT UI" [Resolved] org.eclipse.m2e.launching (1.9.0.20180606-2036) "Maven Integration for Eclipse Launching" [Active] org.eclipse.m2e.lifecyclemapping.defaults (1.9.0.20180606-2036) "Default Build Lifecycle Mapping Metadata" [Resolved] org.eclipse.m2e.logback.appender (1.9.0.20180606-2036) "m2e logback appender" [Resolved] org.eclipse.m2e.logback.configuration (1.9.0.20180606-2036) "m2e logback configuration" [Active] org.eclipse.m2e.maven.indexer (1.9.0.20180606-2035) "Maven / Nexus Indexer Bundle" [Resolved] org.eclipse.m2e.maven.runtime (1.9.0.20180606-2035) "Embedded Maven Runtime Bundle (includes Incubating components)" [Resolved] org.eclipse.m2e.maven.runtime.slf4j.simple (1.9.0.20180606-2035) "slf4j-simple for use in m2e embedded maven runtime" [Resolved] org.eclipse.m2e.model.edit (1.9.0.20180606-2036) "Maven Project Model Edit Bundle" [Starting] org.eclipse.m2e.profiles.core (1.9.0.20180606-2036) "Maven Profiles Management" [Active] org.eclipse.m2e.profiles.ui (1.9.0.20180606-2036) "Maven Profiles Management UI" [Active] org.eclipse.m2e.refactoring (1.9.0.20180606-2036) "Maven Integration for Eclipse Refactoring" [Starting] org.eclipse.m2e.scm (1.9.0.20180606-2036) "SCM Maven Integration for Eclipse" [Resolved] org.eclipse.m2e.sourcelookup (1.9.0.20180606-2036) "Bundle-Name" [Starting] org.eclipse.m2e.sourcelookup.ui (1.9.0.20180606-2036) "Bundle-Name" [Active] org.eclipse.m2e.workspace.cli (0.3.1) "m2e-workspace" [Resolved] org.eclipse.m2e.wtp (1.4.0.20180606-2005) "Maven Integration for Eclipse WTP" [Active] org.eclipse.m2e.wtp.jaxrs (1.4.0.20180606-2005) "Maven JAX-RS Configurator" [Active] org.eclipse.m2e.wtp.jpa (1.4.0.20180606-2005) "Maven JPA Configurator" [Active] org.eclipse.m2e.wtp.jsf (1.4.0.20180606-2005) "Maven JSF Configurator" [Active] org.eclipse.m2e.wtp.overlay (1.4.0.20180606-2005) "Overlay support for Eclipse WTP" [Active] org.eclipse.m2e.wtp.overlay.ui (1.4.0.20180606-2005) "Overlay support for Eclipse WTP - UI" [Starting] org.sonatype.m2e.mavenarchiver (0.17.2.201606141937-signed-20160830073346) "m2e connector for the mavenarchiver and pom properties" [Resolved] ... /instance/org.eclipse.m2e.core/eclipse.m2.defaultRuntime=apache-maven-3.9.4 /instance/org.eclipse.m2e.core/eclipse.m2.runtimes=apache-maven-3.9.4 /instance/org.eclipse.m2e.core/eclipse.m2.runtimesNodes/apache-maven-3.9.4/location=C\:\Users\milinma\AppData\Local\Apache\apache-maven-3.9.4 /instance/org.eclipse.m2e.core/eclipse.m2.runtimesNodes/apache-maven-3.9.4/type=EXTERNAL /instance/org.eclipse.m2e.discovery/org.eclipse.m2e.discovery.pref.projects= /instance/org.eclipse.m2e.editor.xml/org.eclipse.m2e.editor.xml.templates=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?><templates/> ... Id: org.apache.maven.resolver.api, Version: 1.0.3.v20170405-0725, Location: reference:file:plugins/org.apache.maven.resolver.api_1.0.3.v20170405-0725.jar Id: org.apache.maven.resolver.connector.basic, Version: 1.0.3.v20170405-0725, Location: reference:file:plugins/org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar Id: org.apache.maven.resolver.impl, Version: 1.0.3.v20170405-0725, Location: reference:file:plugins/org.apache.maven.resolver.impl_1.0.3.v20170405-0725.jar Id: org.apache.maven.resolver.spi, Version: 1.0.3.v20170405-0725, Location: reference:file:plugins/org.apache.maven.resolver.spi_1.0.3.v20170405-0725.jar Id: org.apache.maven.resolver.transport.file, Version: 1.0.3.v20170405-0725, Location: reference:file:plugins/org.apache.maven.resolver.transport.file_1.0.3.v20170405-0725.jar Id: org.apache.maven.resolver.transport.http, Version: 1.0.3.v20170405-0725, Location: reference:file:plugins/org.apache.maven.resolver.transport.http_1.0.3.v20170405-0725.jar Id: org.apache.maven.resolver.util, Version: 1.0.3.v20170405-0725, Location: reference:file:plugins/org.apache.maven.resolver.util_1.0.3.v20170405-0725.jar Id: org.eclipse.aether.maven, Version: 3.1.0.v20140706-2237, Location: reference:file:plugins/org.eclipse.aether.maven_3.1.0.v20140706-2237.jar Id: org.eclipse.m2e.maven.indexer, Version: 1.9.0.20180606-2035, Location: reference:file:plugins/org.eclipse.m2e.maven.indexer_1.9.0.20180606-2035/ Id: org.eclipse.m2e.maven.runtime, Version: 1.9.0.20180606-2035, Location: reference:file:plugins/org.eclipse.m2e.maven.runtime_1.9.0.20180606-2035/ Id: org.eclipse.m2e.maven.runtime.slf4j.simple, Version: 1.9.0.20180606-2035, Location: reference:file:plugins/org.eclipse.m2e.maven.runtime.slf4j.simple_1.9.0.20180606-2035/ Id: org.sonatype.m2e.mavenarchiver, Version: 0.17.2.201606141937-signed-20160830073346, Location: reference:file:plugins/org.sonatype.m2e.mavenarchiver_0.17.2.201606141937-signed-20160830073346.jar
解决方案
方法1:添加m2e生命周期映射
在pom.xml中添加<pluginManagement>节点,配置该插件的生命周期映射,告诉Eclipse如何处理这个插件的执行:
<build> <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.groovy.maven</groupId> <artifactId>gmaven-plugin</artifactId> <versionRange>[1.0,)</versionRange> <goals> <goal>execute</goal> <!-- 替换成你实际使用的插件goals --> </goals> </pluginExecutionFilter> <action> <ignore/> <!-- 或者用<execute/>,如果需要Eclipse执行该插件 --> </action> </pluginExecution> </pluginExecutions> </lifecycleMappingMetadata> </configuration> </plugin> </plugins> </pluginManagement> </build>
选择<ignore/>时,Eclipse会忽略该插件的执行检查,不再报错;选择<execute/>则需要确保有对应的m2e连接器支持。
方法2:安装m2e连接器
- 打开Eclipse,进入
Window > Preferences > Maven > Discovery - 点击
Open Catalog,搜索"Groovy",找到对应的m2e connector for GMaven插件 - 安装该连接器,重启Eclipse后重新执行Maven Update
方法3:降级Maven版本
当前使用的Maven 3.9.4版本较高,而Eclipse Photon的m2e版本是1.9.0,两者可能存在兼容性问题。可以尝试降级Maven到3.6.x版本:
- 下载Apache Maven 3.6.3
- 在Eclipse中进入
Window > Preferences > Maven > Installations,添加新的Maven安装目录并设置为默认 - 右键项目选择
Maven > Update Project,勾选"Force Update of Snapshots/Releases"
方法4:重新导入项目
- 从Eclipse中删除所有相关项目(不要删除本地文件)
- 在本地项目根目录执行
mvn clean install完成构建 - 重新导入项目:
File > Import > Existing Maven Projects,选择项目根目录并勾选所有模块
内容的提问来源于stack exchange,提问作者user1182625
相关产品推荐
相关产品推荐

