Eclipse“问题”选项卡显示此错误:
描述:Java编译器级别与已安装的Java项目构面的版本不匹配。 资源:灌浆 路径:[空白] 位置:未知 类型:分面项目问题(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>
哪些设置可能不匹配?
你检查了你的Project Properties -> Project Facets
面板吗? (来自that post)
WTP项目由多个功能单元组成(称为构面)。
Java facet版本需要始终匹配java编译器合规性级别。 更改java级别的最佳方法是使用Project Facets属性面板,因为它将同时更新两个位置。
“
Project->Preferences->Project Facets
”将其配置存储在“org.eclipse.wst.common.project.facet.core.xml
”目录下的“.settings
”文件中。内容可能如下所示
<?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>
您有两种方法可以解决此问题:
1-手动确保两个版本匹配。 2-使用IDE的帮助如下: - 右键单击“问题”视图中的错误 - 从弹出菜单中选择“快速修复”菜单项 - 在提供的对话框中选择正确的编译器级别,然后单击“完成”。
取自Eclipse: Java compiler level and project facet mismatch
还提供了可以访问Java编译器和构面版本的位置。
项目方面应该由POM配置的M2Eclipse插件自动派生。如果您对POM进行了一些更改并需要Eclipse将其考虑在内,请右键单击您的项目,然后转到Maven>更新项目配置。您不应手动设置项目构面。
在Spring STS中,右键单击项目并选择“打开项目”,此条款在后台执行必要的操作并将项目带回工作空间。
感谢和关心Vengal的死亡
我在Java 1.6上运行应用程序时遇到了这个问题,而我有三个版本的Java 6,7,8用于不同的应用程序。我访问了Navigator View并从facet.core.xml .Clean build中手动删除了不需要的facet。 wallah!
<?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"/>