eclipse中的openjdk 1.7不允许1.7以下的源代码级别

Eclipse给我一个错误:

'<>' operator is not allowed for source level below 1.7 

我想这是因为它不使用Java 1.7。 除此之外。 至lessopenjdk 1.7(我的操作系统是OpenSuse 12.3)。

我从开普勒切换到juno减less了一些滞后,并试图找出这个错误,迄今为止没有用。

有些事情我已经尝试过了: – eclipse的默认运行时是opensdk 1.7(这样说在帮助中,关于安装细节) – 项目属性,java build – >库。 我已经手动添加了opensdk位置。

我会安装oracle版本,但是opensuse版本库中只有1.6版本可用。 我已经尝试过安装oracle提供的rpm,它没有把自己放在我的路上,把所有的东西搞砸了,于是我又删除了它。

它应该与openjdk一起工作吗? 或者你认为它有一个错误?

ps:junit也不被认可,所以我手动链接到jar文件。 也许这是相关的信息。

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

用鼠标右键单击该项目。 select属性 。 select左边的Java编译器编译器符合性级别select1.7 。 如果下面的2个下拉菜单不是1.7 ,请取消选中使用默认合规性设置并将其设置为1.7

右键单击错误,select快速修复,然后select将JRE更改为1.7

如果您想使用以下版本,请使用

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

代替

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

右键点击Project – properties – Java Complier – Compiler compliance -set level 1.7

如果你想坚持java 1.6 ,search并用空stringreplace<>。 你会得到编译器警告,但错误应该消失。

我有同样的问题,但与 – 编译器符合性级别 – 生成.class文件兼容性 – 源兼容性已经设置为1.7。 我重新select了1.7,然后Eclipse检测到它,要求重build并成功build立我的项目。

窗口 – >首选项 – > Java的>编译器

select1.7并点击好的。

如果您正在自动构build,则需要完全重新构build。

用鼠标右键单击该项目。 select属性。 select左边的Java编译器。 编译器符合性级别select1.7。 如果下面的2个下拉菜单不是1.7,请取消选中使用默认合规性设置并将其设置为1.7。