【问题标题】:Java compiler level does not match the version of the installed Java project facetJava 编译器级别与安装的 Java 项目方面的版本不匹配
【发布时间】:2011-12-04 15:23:54
【问题描述】:

我在 Eclipse Helios 版本下创建了一个新的动态项目,其中我的 JRE 版本设置为 1.6。 我已通过单击配置转换为 Maven 项目,将 Maven 功能添加到 Web 应用程序。

添加后,Eclipse Problems 视图中出现构建错误:

Java compiler level does not match the version of the installed Java project facet.
Unknown Faceted Project Problem (Java Version Mismatch)

请告诉我如何解决此错误(我希望我的 JRE 版本仅为 1.6)。

【问题讨论】:

标签: eclipse maven m2eclipse


【解决方案1】:

如果您的项目不是 Maven 项目,请右键单击您的项目并选择“属性”以打开“项目属性”对话框。

左侧有一个Project Facets项,选中它,在列表中查找Java facet,选择你要用于项目的版本并应用。

【讨论】:

  • Project Facet->Java 应该匹配 pom.xml 中的任何内容,用于 maven-compiler-plugin 工件源和目标。
  • 这个问题的根本原因应该是@VineetReynolds提供的答案
  • 我有这个问题,听起来好像是maven的问题,但是我没有使用maven,我没有POM文件,我什至不确定我有没有maven插入。然而我得到了同样的错误;我的 Eclipse 设置为使用 java 1.7,但我的项目的方面页面只会让我选择 1.6。我做错了什么?
  • 四件事必须匹配 1) Project->Java Build Path->Libraries->JRE version 2) Project->Java Compiler-> Compiler Compliance Level 3) Project->Project Facets->Java- >版本 4)(如果使用 Maven)pom.xml - maven-compiler-plugin 工件源和目标
  • 我第二个@TK Gospodinov 的回答。我的 pom 是最新的 Java 版本,但项目方面是罪魁祸首。
【解决方案2】:

假设您在 Eclipse 中使用 m2e 插件,您需要为 maven-compiler-plugin 指定 sourcetarget 版本为 1.6。 m2e 使用这些值来确定项目的 Java 编译器级别。 POM 的 sn-p 如下所示:

<build>
  <plugins>
    <plugin>
      <artifactId>maven-compiler-plugin</artifactId>
        <configuration>
          <source>1.6</source>
          <target>1.6</target>
        </configuration>
    </plugin>
  </plugins>
</build>

或者,您可以指定值为 1.6 的 maven.compiler.sourcemaven.compiler.target 属性,这恰好是等效的:

<properties>
    <maven.compiler.target>1.6</maven.compiler.target>
    <maven.compiler.source>1.6</maven.compiler.source>
</properties>

【讨论】:

  • 你能做到吗: - 右键单击​​您的项目 - 单击属性 - 单击左侧菜单上的“项目构面”选项 - 在构面部分右侧的“Java”下,将其更改为“ 1.6"、"1.7" 或您的版本... - 点击确定
  • @ThiagoPereira 当您在不同的工作区重新导入时,您会丢失这些更改。了解 m2e 的工作原理。
  • eclipse 用户可以阅读journaldev.com/3334/…
【解决方案3】:

即使对于 maven 项目,TK Gospodinov 的回答也是正确的。当心:我确实使用 Maven。 pom是正确的,仍然有这个问题。我去了“Project Facets”,实际上删除了指向 1.6 的 Java 选择,但我的项目使用的是 1.7。在“运行时”选项卡的右侧,我必须检查 jdk1.7 选项。即使在我点击“应用”之后,左侧也没有出现任何内容。这个问题消失了,这就是为什么我仍然认为这个答案对于特定的“项目方面”相关问题很重要。如果您返回“Project Facets”,点击 OK 后,您会注意到 Java 显示为 1.7 版,因此您现在可以选择它以确保该项目被“标记”为 Java 项目。我还需要右键单击项目并选择 Maven|更新项目。

【讨论】:

    【解决方案4】:

    我通过在项目属性的Project Facet属性中设置java版本解决了这个问题,右键项目根文件夹->属性,搜索Project Facets,选择兼容的java版本。

    供参考-

    【讨论】:

      【解决方案5】:

      我把workspace/project/.setting/org.eclipse.wst.common.project.facet.core里面的配置改成:

      installed facet="jst.web" version="2.5"
      installed facet="jst.java" version="1.7"
      

      在更改配置之前,从 IDE 中删除项目。 这对我有用。

      【讨论】:

      • 刚刚从 eclipse 中删除了项目并重新导入解决了这个问题。
      【解决方案6】:

      我通过Myproject--->java Resource---->libraries-->JRE System解决了它Libraries[java-1.6]点击这个去它的“property”选择“Classpath Container”Execution Environment改成java-1.8(jdk1.8.0-35)(即最新

      【讨论】:

        【解决方案7】:

        我发现上面@bigleftie 的评论很有帮助: "四件事必须匹配

        1. 项目->Java 构建路径->库->JRE 版本
        2. 项目->Java 编译器-> 编译器合规级别
        3. 项目->项目方面->Java->版本
        4. (如果使用 Maven)pom.xml - maven-compiler-plugin 工件源和目标”。

        在我的情况下,在项目属性 Java 编译器中,JDK 合规性设置为使用工作区设置,这与项目的 Java 版本不同。我点击了“配置工作区设置”,并将工作区编译器合规级别更改为我想要的,问题就解决了。

        【讨论】:

          【解决方案8】:

          Project Facet->Java 应该匹配 pom.xml 中用于 maven-compiler-plugin 工件源和目标的任何内容。这是完美的。但如果你没有它,那么你也可以通过匹配来修复它来自设置的 Porject-Facets 中的 Java 编译器版本:Eclispe->Preferences->Java->Compiler

          【讨论】:

            【解决方案9】:

            您可以从 项目 --> 属性 --> 项目构面 --> Java --> {必需的 JDK 版本}

            【讨论】:

              【解决方案10】:

              右键单击项目并选择属性 单击左侧的java编译器并更改为您所需的版本 希望这会有所帮助

              【讨论】:

                【解决方案11】:

                在 Eclipse 中,右键单击您的项目,转到 Maven> 更新 projetc。等待,错误将消失。这已经正确配置了该项目的 Java 版本。

                【讨论】:

                  【解决方案12】:

                  如果使用eclipse,

                  在.settings下点击org.eclipse.wst.common.project.facet.core.xml

                  <?xml version="1.0" encoding="UTF-8"?>
                  <faceted-project>
                    <installed facet="java" version="1.7"/>
                  </faceted-project>
                  

                  将版本更改为正确的版本。

                  【讨论】:

                    猜你喜欢
                    • 2016-04-10
                    • 2012-07-08
                    • 1970-01-01
                    • 1970-01-01
                    • 2014-08-17
                    • 2021-07-11
                    • 2018-05-26
                    • 2012-06-23
                    • 2011-01-15
                    相关资源
                    最近更新 更多