前几天看了下关于maven的介绍,决定试用一下,在使用过程中发现使用@Override标注实现某个某个接口的事出现“must override a superclass method”错误。去掉@Override后错误就没了,但是觉得这样粗暴的解决问题很不舒服,忽略了jdk的新功能。于是联想到《Maven in action》中maven的核心插件complier默认只支持java1.3,我们需要配置该插件使其支持java1.6(因为@Override在1.5中只适用重写父类方法,1.6中适用实现接口)
解决方法:
1.在maven配置文件pom.xml中添加
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>2.1</version> <configuration> <source>1.6</source> <target>1.6</target> </configuration></plugin>
2.同时为了稳定起见修改eclipse配置window->preferences->Java->Compiler中的Compiler compliance level修改为1.6或以上(目前1.6是最高版本)
3.相信在eclipse中使用maven的人都装了m2eclipse插件,在项目上右击选择maven-> Update Project Configuration。
问题到此解决。