今天用IDEA導入一個java工程時,碰上一個問題,代碼中所有@override處標紅,並提示:@override不支持對接口的實現。
網上百度了一下發現, 原因是引用JDK5版本中存在小bug的問題。@Override是JDK5就已經有了,但是不支持對接口的實現,認為這不是Override而報錯。JDK6修正了這個Bug,無論是對父類的方法覆蓋還是對接口的實現都可以加上@Override。
解決辦法也很簡單,首先保證安裝1.6版本的jdk,然后設置IDEA:File >> Project Structure >> Project 中設置Project language level如下

但是,重點來了,照此設置后,問題依舊沒解決,還是出現@override標紅情況,且提示信息不變。
然后發現,除了設置如上地方外,我們還需要對module進行設置哦。
File >> Project Structure >> Modules,然后選擇需設置的module,在Sources頁面,language level也需要設置成 6-@Override in interfaces ,如下圖所示:

然后,問題解決啦~