在取一段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的問題。
失誤!
