最近,我在Eclipse 中导入了一个Maven项目,并更改了构建路径库以在Java 1.7上工作。之后,尽管在任何文件中都没有显示错误,但在项目中显示了错误。
Java编译器级别与安装的Java工程方面的版本不匹配
错误描述是`Java编译器级别与已安装的Java项目方面的版本不匹配。‘我还将项目编译器合规性级别更改为1.7,但仍然没有消除错误。下面的屏幕截图显示了显示此错误的问题视图。的版本不匹配
修复Java编译器级别与安装的Java项目方面的版本不匹配
在进行了一些研究并查看了项目属性后,我能够解决这个问题。我所需要做的就是将Java Project Facet 版本从1.5更改为1.7。下面的屏幕截图显示了项目属性窗口,您可以在其中设置项目方面的版本。的版本不匹配我个人不喜欢在UI中更改任何东西,我更倾向于通过终端来做事情。有一种方法可以通过编辑面的项目设置来实现这一点。您将在项目根目录下的** .sets** 文件夹中的
org.eclipse.wst.common.project.facet.core.xml
文件中找到该文件。该文件的原始内容为:
1<?xml version="1.0" encoding="UTF-8"?>
2<faceted-project>
3 <fixed facet="wst.jsdt.web"/>
4 <installed facet="jst.web" version="2.3"/>
5 <installed facet="wst.jsdt.web" version="1.0"/>
6 <installed facet="java" version="1.5"/>
7</faceted-project>
我将其修改为以下内容。
1<?xml version="1.0" encoding="UTF-8"?>
2<faceted-project>
3 <fixed facet="wst.jsdt.web"/>
4 <installed facet="jst.web" version="2.3"/>
5 <installed facet="wst.jsdt.web" version="1.0"/>
6 <installed facet="java" version="1.7"/>
7</faceted-project>
刷新项目后,错误消失了。
Java编译器级别的奖励提示与安装的Java项目facet的版本不匹配
如果您想从终端更改编译器合规级别,则需要编辑org.eclipse.jdt.core.prefs
文件中的以下属性。
1org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
2org.eclipse.jdt.core.compiler.compliance=1.7
3org.eclipse.jdt.core.compiler.source=1.7
我们也可以在项目的.classpath
文件中更改库,但这并不容易,这取决于为库配置的名称,例如在我的项目类路径文件中,JRE条目如下所示。
1<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.launching.macosx.MacOSXType/Home">
2 <attributes>
3 <attribute name="owner.project.facets" value="java"/>
4 </attributes>
5</classpathentry>
我希望它能在项目方面对面临这个问题的人有所帮助。