更新到 m2e 1.6 导致 "Conflicting lifecycle mapping" 错误
Update to m2e 1.6 resulted in "Conflicting lifecycle mapping" error
在我的 Eclipse Luna SR2 (4.4.2) 中 运行 更新后,我安装了 m2e 1.6.1.20150625-2338。对于我现在使用 maven-war-plugin
的项目,我在问题视图中收到以下错误:
全文:
Conflicting lifecycle mapping (plugin execution
"org.apache.maven.plugins:maven-war-plugin:2.3:war (execution:
war-standalone, phase: package)"). To enable full functionality,
remove the conflicting mapping and run Maven->Update Project
Configuration.
Conflicting lifecycle mapping (plugin execution
"org.apache.maven.plugins:maven-war-plugin:2.3:war (execution:
war-standalone, phase: package)"). To enable full functionality,
remove the conflicting mapping and run Maven->Update Project
Configuration.
插件配置没有导致之前版本的m2e出现问题。在 pom 中看起来没问题,没有异常:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<executions>
<execution>
<id>war-standalone</id>
<goals>
<goal>war</goal>
</goals>
<phase>package</phase>
<configuration>
...
</configuration>
</execution>
<execution>
<id>war-overlay</id>
<goals>
<goal>war</goal>
</goals>
<phase>package</phase>
<configuration>
...
</configuration>
</execution>
</executions>
</plugin>
maven-war-plugin
的生命周期映射未在 pom 中配置。我检查了它是否在父 poms 中,但找不到任何东西。 None 也在工作区生命周期映射元数据中。
然后我注意到 m2e-wtp 插件(映射似乎来自哪里)仍然是旧版本。我把它更新到 1.2.0.20150602-1740 但它并没有解决问题。
知道如何追踪冲突映射的位置或者如何正确解决问题吗?
我在从 m2e 1.6.0 升级到 m2e 1.6.1 时遇到了同样的冲突问题,但是在配置为使用 groovy-eclipse-compiler 的 maven-compiler-plugin
上。
经过调查,我发现 this commit 很可能是错误的根源,因为它改变了配置器的加载方式,并可能导致加载更多配置器。就我而言,似乎默认编译器配置器 和 groovy eclipse 编译器配置器都已加载,因此导致冲突。
问题已报告,并已为此创建 bug。
请注意,它已在 m2e v1.6.2 中修复。
在我的 Eclipse Luna SR2 (4.4.2) 中 运行 更新后,我安装了 m2e 1.6.1.20150625-2338。对于我现在使用 maven-war-plugin
的项目,我在问题视图中收到以下错误:
全文:
Conflicting lifecycle mapping (plugin execution "org.apache.maven.plugins:maven-war-plugin:2.3:war (execution: war-standalone, phase: package)"). To enable full functionality, remove the conflicting mapping and run Maven->Update Project Configuration.
Conflicting lifecycle mapping (plugin execution "org.apache.maven.plugins:maven-war-plugin:2.3:war (execution: war-standalone, phase: package)"). To enable full functionality, remove the conflicting mapping and run Maven->Update Project Configuration.
插件配置没有导致之前版本的m2e出现问题。在 pom 中看起来没问题,没有异常:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<executions>
<execution>
<id>war-standalone</id>
<goals>
<goal>war</goal>
</goals>
<phase>package</phase>
<configuration>
...
</configuration>
</execution>
<execution>
<id>war-overlay</id>
<goals>
<goal>war</goal>
</goals>
<phase>package</phase>
<configuration>
...
</configuration>
</execution>
</executions>
</plugin>
maven-war-plugin
的生命周期映射未在 pom 中配置。我检查了它是否在父 poms 中,但找不到任何东西。 None 也在工作区生命周期映射元数据中。
然后我注意到 m2e-wtp 插件(映射似乎来自哪里)仍然是旧版本。我把它更新到 1.2.0.20150602-1740 但它并没有解决问题。
知道如何追踪冲突映射的位置或者如何正确解决问题吗?
我在从 m2e 1.6.0 升级到 m2e 1.6.1 时遇到了同样的冲突问题,但是在配置为使用 groovy-eclipse-compiler 的 maven-compiler-plugin
上。
经过调查,我发现 this commit 很可能是错误的根源,因为它改变了配置器的加载方式,并可能导致加载更多配置器。就我而言,似乎默认编译器配置器 和 groovy eclipse 编译器配置器都已加载,因此导致冲突。
问题已报告,并已为此创建 bug。
请注意,它已在 m2e v1.6.2 中修复。