当前位置: 代码迷 >> 综合 >> Plugin execution not covered by lifecycle configuration: org.codehaus.mojo:xml-maven-plugin:1.0:tran
  详细解决方案

Plugin execution not covered by lifecycle configuration: org.codehaus.mojo:xml-maven-plugin:1.0:tran

热度:14   发布时间:2024-01-20 02:53:57.0

    在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 配置文件来消除该错误。


1.  进入Window—>Preferences—>Maven —> Lifecycle Mapping 查看  lifecycle-mapping-metadata.xml文件路径



2. 进入该路径 对lifecycle-mapping-metadata.xml 文件进行编辑。 如果在该路径下 找不到相应文件。可以在eclipse 安装目录下的 plugins下的 org.eclipse.m2e.lifecyclemapping.defaults_xxxxxx.jar  中找到 解压出来 加入未识别的插件 



代码:

<pluginExecution>
      <pluginExecutionFilter>
        <groupId>org.codehaus.mojo</groupId> 
        <artifactId>xml-maven-plugin</artifactId><!-- 插件名称 -->
        <versionRange>[1.0,)</versionRange> <!-- 版本范围-->
        <goals>
          <goal>transform</goal><!--mvn 命令就是 xx-plugin后面的那串 -->
        </goals>
      </pluginExecutionFilter>
      <action>
        <ignore />
      </action>
    </pluginExecution>

各个插件的具体情况不一样 所以要根据自己的情况 进行改动。


3.修改完成后,需在maven 设置中把“Update Maven projects on startup”选项勾上,并重启eclipse即可消除出错示。


如果觉得上面的方法有点麻烦。而且如果换了机器的话 又需要重新设置  太麻烦 那么有一个简单的方法 可以一步解决。那就是把上面的设置信息加入pom 文件中



代码:

 <pluginManagement>
      <plugins>
        <!--This plugin's configuration is used to store Eclipse m2e settings only. It has no influence on the Maven build itself.-->
        <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>xml-maven-plugin</artifactId>
                    <versionRange>[1.0,)</versionRange>
                    <goals>
                      <goal>transform</goal>
                    </goals>
                  </pluginExecutionFilter>
                  <action>
                    <execute>
                      <runOnConfiguration>true</runOnConfiguration>
                    </execute>
                  </action>
                </pluginExecution>
              </pluginExecutions>
            </lifecycleMappingMetadata>
          </configuration>
        </plugin>
      </plugins>
    </pluginManagement>


保存后,错误消失。

总结: 

    方法一 是在maven 配置文件级别改动  改完后其他项目也可以使用。

   方法二  是在项目级别改动  其他项目如果也用到该插件 需要在pom 文件中 写人该配置。 


技巧: 如果不知道该插件都有哪些命令 可以打开  xml-maven-plugin-1.0.jar  包下的/META-INF/maven 下的 plugin.xml  查看。

     plugin.xml 文件中的goal标签表示的是 该插件能提供的所以命令。 你可以只把自己需要的加入进来 也可以把所有的都加进去。





  相关解决方案