在取一段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的问题。
失误!