我可以让Java 5忽略@Override错误吗?

可能重复:
为什么Eclipse会在接口方法上抱怨@Override?

我有一些使用Eclipse和Java 6 SDK编写的Java代码,因此实现接口的方法使用@Override注释 – 这是一个在Java 6中合法但在Java 5中不合法的注释。

我想使用Java 5 SDK(Mac OS X 10.5上的javac编译相同的代码。 除了@Override注释之外,所有内容都编译并运行正常。 有没有什么方法可以让javac忽略这个项目的@Override注释,或者是唯一能够将它们全部删除的解决方案?

显然你可以升级到Java 1.5 u21,这将解决问题:

为什么javac在@Override注释上失败

不幸的是,唯一的方法是实际删除注释。

如果您确实想要使用Java 5编译和运行代码,那么您应该开发针对Java 5.否则,您可能会意外地依赖于Java 6特定的SDK方法等。

您可以使用JDK6编译1.5代码。 使用-bootclasspath-target-source 。 或者,我相信Eclipse编译器对@Override的处理方式相同(这可能是错误的!)。

1.5已完成其服务终止期限,我建议让它腐烂。

@Override在java 5中有效 – > http://java.sun.com/j2se/1.5.0/docs/api/index.html?java/lang/Override.html

我建议您在Eclipse中检查项目的编译器设置,可能在Project – > Compiler – > Error / Warnings – > Annotations?

Java 6可用于OS X.检查软件更新。 如果有,请将其设置为默认的Java版本,然后进行编译。