我已经在Eclipse Helios版本下创建了一个新的动态项目,其中我的JRE版本设置为1.6。 我已经通过单击Configure→Convert to Maven Project向Web应用程序添加了Maven功能。

添加后,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中使用m2e插件,您需要将maven-compiler-plugin的源版本和目标版本指定为1.6。m2e使用这些值来确定项目的Java编译器级别。POM的一个片段如下所示:

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

或者,你可以指定maven.compiler.source和maven.compiler.target属性的值为1.6,这恰好是等价的:

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

如果您的项目不是Maven项目,右键单击您的项目并选择Properties打开project Properties对话框。

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


TK Gospodinov answer is correct even for maven projects. Beware: I do use Maven. The pom was correct and still got this issue. I went to "Project Facets" and actually removed the Java selection which was pointing to 1.6 but my project is using 1.7. On the right in the "Runtimes" tab I had to check the jdk1.7 option. Nothing appeared on the left even after I hit "Apply". The issue went away though which is why I still think this answer is important of the specific "Project Facets" related issue. After you hit OK if you come back to "Project Facets" you will notice Java shows up as version 1.7 so you can now select it to make sure the project is "marked" as a Java project. I also needed to right click on the project and select Maven|Update Project.


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


Project Facet->Java应该与maven-compiler-plugin工件源和目标的pom.xml中的任何内容相匹配。这太完美了。但是如果你在这里没有它,那么你也可以通过匹配Java编译器版本在项目方面的设置:Eclispe->首选项->Java->编译器


我将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中删除项目。 这对我很管用。


我通过Myproject- >java Resource---->libraries- >JRE System libraries [java-1.6]单击此转到其“属性”选择“Classpath Container”将执行环境更改为java-1.8(jdk1.8.0-35)(最新)


您可以从更改项目方面 项目——>属性——>项目Facet——> Java——>{所需的JDK版本}


如果使用eclipse,

下。设置单击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>

请修改为正确的版本。


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


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

供参考-


我发现@bigleftie上面的评论很有帮助: “有四件事必须相符

Project->Java Build Path->Libraries->JRE版本 项目->Java编译器->编译器遵从级别 项目- >项目方面- > Java - >版本 (如果使用Maven) pom.xml - Maven -编译器-插件工件的源和目标”。

在我的案例中,在项目属性、Java编译器中,JDK遵从性被设置为使用工作区设置,这与项目的Java版本不同。我点击“Configure Workspace Settings”,并将工作区编译器遵从级别更改为我想要的级别,问题就解决了。