使用eclipse导入工程后,发现override注解报错。将override删除后就可以了。在网上查了下终于找到原因了这是由于jdk版本不对应引起的。
Multiple markers at this line
- implements org.springframework.beans.factory.InitializingBean.afterPropertiesSet
- The method afterPropertiesSet() of type MongoDbManager must override a superclass
method
@Override是JDK5 就已经有了,但有个小小的Bug,就是不支持对接口的实现,认为这不是Override而JDK6 修正了这个Bug,无论是对父类的方法覆盖还是对接口的实现都可以加上@Override
先来了解下eclipse的编译器:eclipse 工程右键属性->java编译器是开发的时候编译需要使用到的是class文件的运行环境级别,例如,如果用的JDK1.4就不能使用泛型。而窗口->首选项->java编译器设置的是写好的JAVA代码按照什么JDK版本级别编译,例如:设置的是1.4,编译出来的class文件可以在1.4以上的JRE上运行,如果用的是5.0级别编译,就不能运行在1.4的环境里面,会提示版本过高。
解决办法:
查看了一下java compiler compliance level里面的版本是6.0,后来查看了一下工程中的版本发现是5.0,修改成6.0后编译正常了。