Facted Project 中的Java 版本设定与项目的Java编译器的compliance level设定不一致。
解决办法:
把两者设置成相同。
第一步:查看Compiler compliance level
右键Project | Properties | Java Compiler(type filter text输入compiler可快速定位),如下图所示:
根据图中显示可知,Compiler compliance level是6.0(当然您的项目该值很可能不是6.0)
第二步:修改Project Facets的Java值,使之和Compiler compliance level相同:
右键Project | Properties | Project Facets(type filter text输入facet可快速定位):
=>选中Java那行
=>点击Modify Project...按钮
=>修改Java的值,使之和Compiler compliance level相同(本例为6.0)
如果没有找到project facets选项,可以参考下面的方法:
MyEclipse中没有Project Facets配置选项,则需要到当前项目的.settings文件夹下,找到org.eclipse.wst.common.project.facet.core.xml文件,其内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<faceted-project>
<fixed facet="wst.jsdt.web"/>
<installed facet="java" version="1.6"/>
<installed facet="jst.web" version="2.5"/>
<installed facet="wst.jsdt.web" version="1.0"/>
</faceted-project>
其中<installed facet="java" version="1.6"/>这行就是faceted project的编译级别配置。
<installed facet="jst.web" version="2.5"/>这行配置在某些情况下也需要修改,比如在MyEclipse中建了个web项目,后来又导入到eclipse jee,有时候就需要修改这个配置。
保存配置后,刷新并build项目后,问题解决。
ref:http://www.cnblogs.com/maoruilin/archive/2012/04/02/java_compiler_level.html