idea导入maven项目 报“Override is not allowed when implementing interface method”

  导入一个新的maven项目发现很奇怪的一个bug,提示错误,“@Override is not allowed when implementing interface method”。详细的代码描述如下:

idea导入maven项目 报“Override is not allowed when implementing interface method”

通过网上查询知道,@Override从jdk1.5开始出现的,是用来标注方法重写的。通常方法重写发生在继承父类,重写父类方法,或者实现接口,实现接口方法。@Override能够保证你正确重写方法,当你重写方法出错时,比如方法名误写,或者漏掉参数,编译器会提示编译错误。
  出现以上问题,则跟编译器版本问题有关。编译器1.5只支持@Override注释重写父类方法,不支持实现接口方法。而我的IDE默认使用jdk1.5的编译器。我这个用的是jdk1.7的,我们
将language level设置高于jdk1.5版本即可

1、File ——> Project Structure ——>[ 项目名称 ]——>Language level 修改成 “7 - Diamonds,ARM,multi-catch etc.”

idea导入maven项目 报“Override is not allowed when implementing interface method”

将File ——> Settings ——> Build, Execution, Deployment ——> Compiler ——> Java Compiler
Target bytecode version 改为1.7,即可

idea导入maven项目 报“Override is not allowed when implementing interface method”