原文: https://howtodoinjava.com/maven/solved-java-compiler-level-does-not-match-the-version-of-the-installed-java-project-facet/

很长一段时间以来,我一直没有解决这个问题。 每次遇到此问题时,我都会去修改 Eclipse 中项目方面菜单的项目编译器级别。 今天,我决定结束一切。

eclipse 中的此错误如下所示:

已解决:Java 编译器级别与已安装的 Java 项目方面的版本不匹配 - 图1

Maven 编译器级别不匹配错误

原因:

此错误是由于默认的 Maven 编译器插件。 目前是 1.5。 因此,如果您使用 Java 1.6 构建项目,则每次运行此命令时都会遇到此问题:

  1. mvn eclipse:eclipse -Dwtpversion=2.0

根据 maven 文档:“目前,默认源设置为 1.5,默认目标设置为 1.5,与运行 Maven 的 JDK 无关。 如果要更改这些默认值,则应按照 Java 编译器的-source-target设置所述设置源和目标。”

我的情况更糟,因为当时默认值为 Java 1.4。🙁

解决方案

要解决此问题,您需要在pom.xml文件中进行一次更新。 此更新用于覆盖 Maven 编译器插件中的默认编译器级别。

  1. <plugins>
  2. <plugin>
  3. <artifactId>maven-compiler-plugin</artifactId>
  4. <configuration>
  5. <source>1.6</source>
  6. <target>1.6</target>
  7. </configuration>
  8. </plugin>
  9. </plugins>

使用所需的 Java 版本更新上述编译器属性。 并将此配置放置在pom.xml文件的build节点中,如下所示:

  1. <build>
  2. <finalName>JerseyHelloWorld</finalName>
  3. <plugins>
  4. <plugin>
  5. <artifactId>maven-compiler-plugin</artifactId>
  6. <configuration>
  7. <source>1.6</source>
  8. <target>1.6</target>
  9. </configuration>
  10. </plugin>
  11. </plugins>
  12. </build>

以上更改将纠正错误。

祝您学习愉快!

参考: http://maven.apache.org/plugins/maven-compiler-plugin/