错误: -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 

错误: -source 1.6 中不支持 diamond 运算符的解决办法_第1张图片


发现还是报错。

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

错误: -source 1.6 中不支持 diamond 运算符的解决办法_第2张图片

发现还是报错

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

错误: -source 1.6 中不支持 diamond 运算符的解决办法_第3张图片

发现还是报错

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

错误: -source 1.6 中不支持 diamond 运算符的解决办法_第4张图片

成功。


造成此问题的原因在于:

private static MessageFactory txtfact = new MessageFactory<>();
其实改成这个样子也是能够解决编译不够去的问题的。

private static MessageFactory txtfact = new MessageFactory();


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

失误!

你可能感兴趣的:(Java,Intellij,IDEA)