idea 错误: -source 1.6 中不支持 diamond 运算符的解决办法

Posted 邱明成

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了idea 错误: -source 1.6 中不支持 diamond 运算符的解决办法相关的知识,希望对你有一定的参考价值。

在取一段github代码时,发现说是支持jdk 7 ,但是使用MAVEN编译不过去。

报错信息为错误: -source 1.6 中不支持 diamond 运算符

 

我使用的环境是1.7  + intellij idea

 

解决思路:

1.检查ide的默认编译环境 ,快捷键ctrl + alt +s

找Java Compiler ,发现设置是 Target bytencode version 是1.6 改成1.7 

技术分享图片

 

发现还是报错。

2.检查项目的SDK选择和项目语言level 都改成1.7 和7

技术分享图片

发现还是报错

3.检查项目的 Modules 中的language level 改成 7 

技术分享图片

发现还是报错

4.检查maven的compile plugin 插件 由1.6改成1.7

技术分享图片

成功。

 

造成此问题的原因在于:

 

private static MessageFactory<IsoMessage> txtfact = new MessageFactory<>();

其实改成这个样子也是能够解决编译不够去的问题的。

 

 

private static MessageFactory<IsoMessage> txtfact = new MessageFactory<IsoMessage>();

 

 

 

如果一开始导入项目时项目不报错,但是再maven compile编译的时候报错,就应该想到是maven的问题。

失误!

以上是关于idea 错误: -source 1.6 中不支持 diamond 运算符的解决办法的主要内容,如果未能解决你的问题,请参考以下文章

Idea 不断将 Kotlin 的编译目标从 1.8 切换到 1.6

类'java.io.'在JRE仿真库INTELLIJ IDEA中不存在

WebDriver 中不支持复合类名称错误

抛出 'cv::Exception' 实例后,OpenCV 中出现错误标志错误。 cvGetMat 中不支持的数组类型

pytorch 错误:CrossEntropyLoss() 中不支持多目标

为啥使用idea2021版本创建tomcat项目会报错?