Java eclipse中的OpenJDK1.7:源代码级别低于1.7时不允许使用运算符

Java eclipse中的OpenJDK1.7:源代码级别低于1.7时不允许使用运算符,java,eclipse,windows-runtime,openjdk,Java,Eclipse,Windows Runtime,Openjdk,Eclipse给了我一个错误: '<>' operator is not allowed for source level below 1.7 “”运算符不允许用于低于1.7的源级别 我想这是因为它没有使用Java1.7。但事实并非如此。至少openjdk 1.7(我的操作系统是OpenSuse 12.3) 我从开普勒切换回朱诺,以减少一些滞后,并试图找出这个错误,以及,到目前为止没有任何效果 我尝试过的一些事情: -eclipse的默认运行时是opensdk 1.7(在“帮助

Eclipse给了我一个错误:

'<>' operator is not allowed for source level below 1.7 
“”运算符不允许用于低于1.7的源级别
我想这是因为它没有使用Java1.7。但事实并非如此。至少openjdk 1.7(我的操作系统是OpenSuse 12.3)

我从开普勒切换回朱诺,以减少一些滞后,并试图找出这个错误,以及,到目前为止没有任何效果

我尝试过的一些事情: -eclipse的默认运行时是opensdk 1.7(在“帮助”、“关于”、“安装详细信息”中这样说) -项目属性,java构建->库。我已经手动添加了opensdk位置

我会安装oracle版本,但opensuse存储库中只有1.6可用。我已经试过安装oracle提供的rpm,但它并没有进入我的路径,并且把一切都搞砸了,所以我再次删除了它

它也应该和openjdk一起工作不是吗?或者你认为它有bug


ps:junit也没有被识别,所以我手动链接到jar文件。这可能是相关信息。

在项目的首选项中,必须将编译器
--source
选项设置为
1.7
,将
--target
选项设置为
1.7
。有专门的选项框


右键单击项目。选择属性。选择左边的Java编译器。选择
1.7
作为编译器符合性级别。如果下面的两个下拉列表不是
1.7
,请取消选中使用默认符合性设置并将其设置为
1.7
,右键单击错误,选择快速修复,然后选择将JRE更改为1.7

如果要使用以下版本,请使用

Map<String, Integer> map = new HashMap<String, Integer>();
Map Map=newhashmap();
而不是

HashMap<String, Integer> map = new HashMap<>();
HashMap map=newhashmap();

如果您想继续使用
Java1.6
,请搜索并替换为空字符串。您将收到编译器警告,但错误应该会消失。

我也有同样的问题,但是 -编译器遵从性级别 -生成的.class文件的兼容性 -源兼容性 所有已设置为1.7。
我在所有3个版本上都重新选择了1.7,然后Eclipse检测到了它,要求重新构建并成功构建我的项目。

Window->Preferences->Java->Compiler

选择1.7并点击OK


如果是自动生成,则需要完全重新生成。

右键单击项目。选择属性。选择左边的Java编译器。选择1.7作为编译器符合性级别。如果下面的两个下拉列表不是1.7,请取消选中使用默认符合性设置并将其设置为1.7。

右键单击项目-属性-Java编译器-编译器符合性-设置级别1.7

我重新安装了oracle jdk。在preferences->JRE环境中,我手动添加了jde的路径,然后在preferences->compiler->中,我确实更改了遵从性级别(我认为这是缺失的)。非常感谢!我正在使用“PlayHaven Android SDK”。。。这样做给了我新的问题。。。Android要求编译器符合5.0或6.0级的要求。改为找到“1.7”。请使用Android工具>修复项目属性。仍然在想他们是如何编译的这个答案对我很有用,但我必须执行另外一个步骤:在重建之前清理项目!对大多数人来说,这可能是一个不需要动脑筋的问题,但我认为,如果一些人和我一样,这可以为他们节省额外的几分钟时间。我在清理之前尝试过构建,但仍然出现上述错误。我正在使用v23工具-仍然可以看到这种行为。对我来说,我意识到这是因为新消息被添加到LogCat中,即使它们被过滤掉了。每当adb logcat收到一条新消息时,我的滚动区域就会跳到底部,尽管它不会显示消息,因为它们已被过滤掉。@jeet.chanchawat您找到解决该问题的方法了吗?谢谢,谢谢,谢谢。在尝试了很多最终让我无人着陆的选项后,这一次成功地拯救了我,在一次或两次点击中删除了数百个错误。这并没有给现有的(已接受的)添加任何新的内容。