• 关于Plugin execution not covered by lifecycle configuration: org.apache.maven.plugins:maven-compiler-plugin的解决方案


    前景回顾

    eclipse自带maven生成的repository仓库是在C盘下,由于之前占用空间太大,遂自定义到D盘,删除了C盘的repository。

    原因分析

    原C盘下repository里有下载的插件文件,在D盘下无法找到maven-compiler-plugin的插件。

    解决方法


    方法一:

     1 <build>
     2         <pluginManagement>
     3             <plugins>
     4                 <plugin>
     5                     <groupId>org.eclipse.m2e</groupId>
     6                     <artifactId>lifecycle-mapping</artifactId>
     7                     <version>1.0.0</version>
     8                     <configuration>
     9                         <lifecycleMappingMetadata>
    10                             <pluginExecutions>
    11                                 <pluginExecution>
    12                                     <pluginExecutionFilter>
    13                                         <groupId>org.apache.maven.plugins</groupId>
    14                                         <artifactId>maven-compiler-plugin</artifactId>
    15                                         <versionRange>[2.5,)</versionRange>
    16                                         <goals>
    17                                             <goal>compile</goal>
    18                                             <goal>testCompile</goal>
    19                                         </goals>
    20                                     </pluginExecutionFilter>
    21                                     <action>
    22                                         <ignore />
    23                                     </action>
    24                                 </pluginExecution>
    25                             </pluginExecutions>
    26                         </lifecycleMappingMetadata>
    27                     </configuration>
    28                 </plugin>
    29             </plugins>
    30         </pluginManagement>
    31     </build>

    然后在项目上右击Maven -> Update Project...

    但由于某种原因我们不能随便改pom.xml文件,遂舍弃。

    方法二:

    菜单栏 Window -> Preferences -> Maven -> Lifecycle Mapping
    查看Change mapping file location一栏的地址,一般都是workspacePath/.metadata/.plugins/org.eclipse.m2e.core/lifecycle-mapping-metadata.xml,然而我的org.eclipse.m2e.core目录下没有lifecycle-mapping-metadata.xml文件,于是我们需要到Eclipse的安装目录下找到pluginsorg.eclipse.m2e.lifecyclemapping.defaults_xxxxx.jar文件,解压之后就会看到一个lifecycle-mapping-metadata.xml文件,打开编辑他,在<pluginExecutions>中插入
        <pluginExecution>
          <pluginExecutionFilter>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <versionRange>[2.5,)</versionRange>
            <goals>
              <goal>testCompile</goal>
              <goal>compile</goal>
            </goals>
          </pluginExecutionFilter>
          <action>
            <ignore />
          </action>
        </pluginExecution>
    保存之后将其复制到上面说的workspacePath/.metadata/.plugins/org.eclipse.m2e.core/lifecycle-mapping-metadata.xml目录。
    可以把Preferences -> Maven中的Update Maven projects on startup选项勾上,然后重启Eclipse即可
     
    尚礼 求知 勤奋 谦逊 正直 公平
  • 相关阅读:
    java.lang.NoSuchMethodError:antlr.collections.AST.getLine() I
    T7 java Web day01 标签HTML
    T6 s1 day19
    T5 s5 Day18
    T5 s4 Day 17
    T5 s3 day16
    T5 s2 Day 15
    T5 s1 day14
    T4 S03 day 12
    T4 S01 day1
  • 原文地址:https://www.cnblogs.com/woodafeng/p/10573342.html
Copyright © 2020-2023  润新知