我可以让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版本,然后进行编译。