“刻面项目问题(Java 版本错误匹配)”错误消息

Eclipse 的“问题”选项卡显示了这个错误:

描述: Java 编译器级别与已安装的 Java 项目 facet 版本不匹配。
资源: 分组
路径: [空白]
地点: 未知
类型: 面项目问题(Java 版本不匹配)

我的 pom.xml有这样的设置:

<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.6</source>
<target>1.6</target>
</configuration>
</plugin>
</plugins>

还有哪里的设置不匹配?

164957 次浏览

你检查你的 Project Properties -> Project Facets面板了吗? (从 那个帖子)

WTP 项目由多个功能单元组成(称为 方面)。

Java facet 版本需要始终与 Java 编译器一致 水平。
更改 java 级别的最佳方法是使用 ProjectFacets 属性面板,因为这将更新两个地方在同一时间。

WTP

Project->Preferences->Project Facets”将其配置存储在“ .settings”目录下的“ org.eclipse.wst.common.project.facet.core.xml”文件中。

内容可能是这样的

<?xml version="1.0" encoding="UTF-8"?>
<faceted-project>
<runtime name="WebSphere Application Server v6.1"/>
<fixed facet="jst.java"/>
<fixed facet="jst.web"/>
<installed facet="jst.java" version="5.0"/>
<installed facet="jst.web" version="2.4"/>
<installed facet="jsf.ibm" version="7.0"/>
<installed facet="jsf.base" version="7.0"/>
<installed facet="web.jstl" version="1.1"/>
</faceted-project>

同时检查你的 Java 遵从级别:

Java compliance level

你有两个选择来解决这个问题:

手动确保两个版本匹配。
2-使用 IDE 的帮助如下:
- 右键单击“问题”视图中的错误
- 从弹出式选单中选取「快速修复」选单项目
- 在提供的对话框中选择正确的编译器级别,然后单击“ Finish”。 < br >

取自 Eclipse: Java 编译器级别与 Project facet 不匹配

还提供了可以访问 Java 编译器和 facet 版本的位置。

项目 facet 应该由 M2Eclipse 插件从 POM 配置自动派生。如果您对 POM 进行了一些更改,并且需要 Eclipse 考虑到这些更改,那么在您的项目中使用 右击,然后转到 美芬 > 更新项目配置。不应手动设置项目方面。

在 Spring STS 中,右键单击项目并选择“ 开放计划”,此规定在后台执行必要的操作并将项目带回工作空间。

谢谢 Vengat Maran

当我在 Java 1.6上运行一个应用程序时遇到了这个问题,而我已经为不同的应用程序提供了 Java 6,7,8的所有三个版本。我访问了 Navigator View 并手动从 facet.core.xml 中删除了不需要的 facet。干净利落的身材!

<?xml version="1.0" encoding="UTF-8"?>

<fixed facet="jst.java"/>


<fixed facet="jst.web"/>


<installed facet="jst.web" version="2.4"/>


<installed facet="jst.java" version="6.0"/>


<installed facet="jst.utility" version="1.0"/>