提问者:小点点

eclipse中的openjdk 1.7:1.7以下的源代码级别不允许使用运算符


Eclipse给了我一个错误:

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

我猜这是因为它没有使用java 1.7。除了它是。至少openjdk 1.7(我的OS是OpenSuse 12.3)。

我从开普勒切换回朱诺,以减少一些滞后,并试图找出这个bug,到目前为止无济于事。

我尝试过的一些东西:eclipse的默认运行时是opensdk 1.7(在帮助、关于、安装细节中是这么说的)-项目属性、java build -

我会安装oracle版本,但opensuse存储库中只有1.6个可用版本。我已经尝试安装oracle提供的rpm,它没有把自己放在我的路径上,有点把一切都搞砸了,所以我又删除了它。

它也应该适用于openjdk,不是吗?还是你认为它有bug?

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


共3个答案

匿名用户

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

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

匿名用户

右键单击错误,选择“快速修复”,然后选择“将JRE更改为1.7”

匿名用户

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

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

而不是

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