可能重复:
Why does Eclipse complain about @Override on interface methods?
我有一些使用Eclipse和Java 6 SDK编写的Java代码,因此实现接口的方法使用@Override
注释 - 这是一个在Java 6中合法但在Java 5中不合法的注释。 / p>
我想使用Java 5 SDK(Mac OS X 10.5上的javac
)编译相同的代码。除@Override
注释外,所有内容都编译并运行正常。有什么方法可以让javac忽略这个项目的@Override
注释,还是唯一能够将它们全部删除的解决方案?
答案 0 :(得分:6)
不幸的是,唯一的方法是实际删除注释。
如果您确实想要使用Java 5编译和运行代码,那么您应该开发目标Java 5.否则,您可能会意外地依赖于Java 6特定的SDK方法等。
答案 1 :(得分:4)
显然你可以升级到Java 1.5 u21,这将解决问题:
答案 2 :(得分:2)
您可以使用JDK6编译1.5代码。使用-bootclasspath
,-target
和-source
。或者,我相信Eclipse编译器会将@Override
视为相同(这可能是错误的!)。
1.5已经完成了服务终止期限,我建议让它腐烂。
答案 3 :(得分:-1)
@Override在java 5中有效 - > http://java.sun.com/j2se/1.5.0/docs/api/index.html?java/lang/Override.html
我建议您在Eclipse中检查项目的编译器设置,可能是在Project - >编译器 - >错误/警告 - >注释
答案 4 :(得分:-1)
Java 6可用于OS X.检查软件更新。如果有,请将其设置为默认的java版本,然后编译。