Eclipse 中的 OpenJDK 1.7:对于低于 1.7 的源代码级别,不允许使用运算符



Eclipse给了我一个错误:

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

我想这是因为它没有使用 java 1.7。除了它是。至少是 openjdk 1.7(我的操作系统是 OpenSuse 12.3)。

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

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

我会安装 oracle 版本,但 opensuse 存储库中只有 1.6 可用。我已经尝试安装oracle提供的rpm,它并没有妨碍我的道路,并且有点搞砸了一切,所以我再次删除了它。

它也应该与 openjdk 一起使用,不是吗?还是您认为它有错误?

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

在项目的首选项中,必须将编译器--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<>();

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

如果你想坚持使用java 1.6,搜索并用空字符串替换<>。 您将收到编译器警告,但错误应该会消失。

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

Window->Preferences->

Java->Compiler

选择 1.7 并点击确定。

如果是自动构建,则需要完全重新构建。

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

最新更新