我在 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)。
如果您的项目不是 Maven 项目,请右键单击您的项目并选择“属性”以打开“项目属性”对话框。
左边有一个 Project Facets 项,选中它,在列表中查找 Java facet,选择你要用于项目的版本并应用。
https://i.stack.imgur.com/YXWSW.png
假设您在 Eclipse 中使用 m2e 插件,您需要将 source
和 target
版本指定为 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>
或者,您可以指定值为 1.6 的 maven.compiler.source
和 maven.compiler.target
属性,它们恰好是等效的:
<properties>
<maven.compiler.target>1.6</maven.compiler.target>
<maven.compiler.source>1.6</maven.compiler.source>
</properties>
即使对于 Maven 项目,TK Gospodinov 的回答也是正确的。当心:我确实使用 Maven。 pom是正确的,仍然有这个问题。我去了“Project Facets”,实际上删除了指向 1.6 的 Java 选择,但我的项目使用的是 1.7。在“运行时”选项卡的右侧,我必须检查 jdk1.7 选项。即使在我点击“应用”之后,左侧也没有出现任何内容。这个问题消失了,这就是为什么我仍然认为这个答案对于特定的“Project Facets”相关问题很重要。如果您返回“Project Facets”,点击 OK 后,您会注意到 Java 显示为 1.7 版,因此您现在可以选择它以确保该项目被“标记”为 Java 项目。我还需要右键单击项目并选择 Maven|更新项目。
我发现上面@bigleftie 的评论很有帮助:“四件事必须匹配
Project->Java Build Path->Libraries->JRE version Project->Java Compiler->Compiler Compliance Level Project->Project Facets->Java->Version (if using Maven) pom.xml - maven-compiler-plugin artefact source和目标”。
就我而言,在项目属性 Java 编译器中,JDK 合规性设置为使用工作区设置,这与项目的 Java 版本不同。我单击“配置工作区设置”,并将工作区编译器合规级别更改为我想要的,问题就解决了。
我通过在项目属性的Project Facet属性中设置java版本解决了这个问题,右键单击项目根文件夹->属性,搜索Project Facets,然后选择兼容的java版本。
以供参考 -
https://i.stack.imgur.com/OrG6h.png
我将 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) (即最新)
https://i.stack.imgur.com/fd555.png
Project Facet->Java 应该与 pom.xml 中针对 maven-compiler-plugin 工件源和目标的任何内容相匹配。这是完美的。但是如果您在此处没有它,那么您也可以通过匹配 Java 编译器版本来修复它在设置中的 Porject-Facets 中:Eclispe->Preferences->Java->Compiler
您可以从 Project --> Properties --> Project Facet --> Java --> {required JDK version} 更改项目方面
右键单击项目并选择属性单击左侧的java编译器并更改为您所需的版本希望这会有所帮助
在 Eclipse 中,右键单击您的项目,转到 Maven> Update projetc。等待,错误将消失。这已经正确配置了该项目的 Java 版本。
https://i.stack.imgur.com/tGhYi.png
如果使用日食,
在.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>
将版本更改为正确的版本。