问题
尽管在所有项目设置(包括in444447123)中都指定了JDK 1.7,但在尝试编译一些使用菱形运算符的简单Java 7代码时,会产生以下错误:IntelliJ 13
:
java: diamond operator is not supported in -source 1.5
(use -source 7 or higher to enable diamond operator)
配置中是否还有其他位置应启用expected-source 7
选项?
#1 热门回答(118 赞)
请检查你的项目/模块语言级别(项目结构|项目;项目结构|模块|模块名称|来源)。你可能还想查看"设置"|编译器| Java编译器|每模块字节码版本。
也设置这个:
文件 - >项目结构 - >模块::源(在路径和依赖关系旁边),并且具有"语言级别"选项,也需要正确设置。
#2 热门回答(72 赞)
如果没有任何帮助(我的情况),你可以在你的pom.xml中设置它,如下所示:
<properties>
<maven.compiler.source>1.7</maven.compiler.source>
<maven.compiler.target>1.7</maven.compiler.target>
</properties>
正如这个很酷的家伙在这里提到:https://stackoverflow.com/a/25888116/1643465
#3 热门回答(13 赞)
[适用于IntelliJ IDEA 2016.2]
我想通过最新的截图扩展到Peter Gromov's answer的一部分。特别是这个特殊部分:
你可能还想查看"设置"|编译器| Java编译器|每模块字节码版本。
我相信(至少在2016年2月):检查git
中的不同提交将这些提交重置为1.5。