在eclipse中打开pom.xml 文件报
Plugin execution not covered by lifecycle configuration: org.codehaus.mojo:xml-maven-plugin:1.0:transform (execution: default,phase: generate-resources)
主要的意思就是说 maven 未定义该插件。所以报错 需要mvaen 提供扩展机制 。可以通过修改maven的lifecycle-mapping-Metadata.xml 配置文件来消除该错误。
@H_404_9@
1. 进入Window—>Preferences—>Maven—>Lifecycle Mapping 查看 lifecycle-mapping-Metadata.xml文件路径
@H_404_9@
@H_404_9@
2. 进入该路径 对lifecycle-mapping-Metadata.xml 文件进行编辑。 如果在该路径下 找不到相应文件。可以在eclipse 安装目录下的 plugins下的org.eclipse.m2e.lifecyclemapping.defaults_xxxxxx.jar 中找到 解压出来 加入未识别的插件
@H_404_9@
@H_404_9@
代码:
<pluginExecution>@H_404_9@ <pluginExecutionFilter>@H_404_9@ <groupId>org.codehaus.mojo</groupId>@H_404_9@ <artifactId>xml-maven-plugin</artifactId><!-- 插件名称 -->@H_404_9@ <versionRange>[1.0,)</versionRange> <!-- 版本范围-->@H_404_9@ <goals>@H_404_9@ <goal>transform</goal><!--mvn 命令就是 xx-plugin后面的那串 -->@H_404_9@ </goals>@H_404_9@ </pluginExecutionFilter>@H_404_9@ <action>@H_404_9@ <ignore />@H_404_9@ </action>@H_404_9@ </pluginExecution>@H_404_9@
各个插件的具体情况不一样 所以要根据自己的情况 进行改动。
@H_404_9@
3.修改完成后,需在maven 设置中把“Update Maven projects on startup”选项勾上,并重启eclipse即可消除出错示。@H_404_9@
@H_404_9@
如果觉得上面的方法有点麻烦。而且如果换了机器的话 又需要重新设置 太麻烦 那么有一个简单的方法 可以一步解决。那就是把上面的设置信息加入pom 文件中
@H_404_9@
@H_404_9@
代码:
<pluginManagement>@H_404_9@ <plugins>@H_404_9@ <!--This plugin's configuration is used to store Eclipse m2e settings only. It has no influence on the Maven build itself.-->@H_404_9@ <plugin>@H_404_9@ <groupId>org.eclipse.m2e</groupId>@H_404_9@ <artifactId>lifecycle-mapping</artifactId>@H_404_9@ <version>1.0.0</version>@H_404_9@ <configuration>@H_404_9@ <lifecycleMappingMetadata>@H_404_9@ <pluginExecutions>@H_404_9@ <pluginExecution>@H_404_9@ <pluginExecutionFilter>@H_404_9@ <groupId>org.codehaus.mojo</groupId>@H_404_9@ <artifactId>xml-maven-plugin</artifactId>@H_404_9@ <versionRange>[1.0,)</versionRange>@H_404_9@ <goals>@H_404_9@ <goal>transform</goal>@H_404_9@ </goals>@H_404_9@ </pluginExecutionFilter>@H_404_9@ <action>@H_404_9@ <execute>@H_404_9@ <runOnConfiguration>true</runOnConfiguration>@H_404_9@ </execute>@H_404_9@ </action>@H_404_9@ </pluginExecution>@H_404_9@ </pluginExecutions>@H_404_9@ </lifecycleMappingMetadata>@H_404_9@ </configuration>@H_404_9@ </plugin>@H_404_9@ </plugins>@H_404_9@ </pluginManagement>@H_404_9@
@H_404_9@
保存后,错误消失。
总结:
方法一 是在maven 配置文件级别改动 改完后其他项目也可以使用。
方法二 是在项目级别改动 其他项目如果也用到该插件 需要在pom 文件中 写人该配置。
@H_404_9@
技巧: 如果不知道该插件都有哪些命令 可以打开 xml-maven-plugin-1.0.jar包下的/Meta-INF/maven 下的 plugin.xml查看。
plugin.xml 文件中的goal标签表示的是 该插件能提供的所以命令。 你可以只把自己需要的加入进来 也可以把所有的都加进去。
@H_404_9@
@H_404_9@
@H_404_9@