Eclipse给了我一个错误:
'<>' operator is not allowed for source level below 1.7
我想这是因为它没有使用java 1.7。除此之外。至少openjdk 1.7(我的操作系统是OpenSuse 12.3)。
我从kepler转到juno以减少一些滞后并试图找出这个bug,到目前为止无济于事。
我尝试过的一些事情: - eclipse的默认运行时是opensdk 1.7(在帮助中说明,安装细节) - 项目属性,java build - &gt;图书馆。我手动添加了opensdk位置。
我会安装oracle版本,但opensuse存储库中只有1.6。我已经尝试安装oracle提供的rpm,它没有把自己放在我的路径中,并且把一切搞砸了,所以我再次删除它。
它应该与openjdk一起工作吗?或者你认为它有错误吗?
ps:junit也无法识别,所以我手动链接到jar文件。也许这是相关的信息。
答案 0 :(得分:82)
在项目的首选项中,您必须将编译器--source
选项设置为1.7
,将--target
选项设置为1.7
。有专门的选项框。
右键单击该项目。选择属性。选择左侧的 Java Compiler 。为编译器合规性级别选择1.7
。如果下面的2个下拉列表不是1.7
,请取消选中使用默认合规性设置并将其设置为1.7
。
答案 1 :(得分:28)
右键单击错误,选择快速修复,然后选择将JRE更改为1.7
答案 2 :(得分:6)
如果您想使用以下版本,请使用
Map<String, Integer> map = new HashMap<String, Integer>();
而不是
HashMap<String, Integer> map = new HashMap<>();
答案 3 :(得分:2)
右键单击Project - properties - Java Complier - Compiler compliance -set level 1.7
答案 4 :(得分:0)
如果您想坚持使用java 1.6
,请搜索并替换&lt;&gt;用空字符串。您将收到编译器警告,但错误应该消失。
答案 5 :(得分:0)
我有同样的问题,但随着 - 编译器合规性级别 - 生成的.class文件兼容性 - 源兼容性 所有已经设置为1.7。 我在所有3上重新选择了1.7,然后Eclipse检测到它,要求重建并成功构建我的项目。
答案 6 :(得分:0)
Window-&gt;偏好设置 - &gt; Java-&gt;编译器
选择1.7并点击即可。
如果您要自动构建,则需要完全重建。
答案 7 :(得分:0)
右键单击该项目。选择属性。选择左侧的Java Compiler。选择1.7作为编译器合规性级别。如果下面的2个下拉列表不是1.7,请取消选中使用默认合规性设置并将其设置为1.7。