今天用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 ,如下图所示:
注:public UserService userService;报错
扫不到包的原因,在配置文件里加上就好