我有一个现有项目在覆盖 interface 方法而不是父类(super class)方法的方法上使用 @Override
。我无法在代码中更改它,但我希望 Eclpse 停止提示注释,因为我仍然可以使用 Maven 构建。
我将如何禁用此错误?
注意:由于项目需要,我需要为Java 1.5编译。
最佳答案
在实现接口(interface)声明的方法的方法上使用 @Override
注释仅从 Java 6 开始有效。这是 Java 5 中的错误。
确保您的 IDE 项目设置为使用 Java 6 JRE,并且“源兼容性”设置为 1.6 或更高版本:
- 打开窗口 > 首选项对话框
- 浏览到 Java > 编译器。
- 在那里,将“编译器合规级别”设置为 1.6。
请记住,Eclipse 可以覆盖特定项目的这些全局设置,因此也请检查这些设置。
更新:
Java 5 下的错误不仅仅是 Eclipse;直接从命令行使用 javac
会给你同样的错误。 它不是有效的 Java 5 源代码。
但是,您可以为 JDK 6 的 javac
指定 -target 1.5
选项,这将从 Java 6 源代码生成 Java 5 版本的类文件。
关于java - 为什么 Eclipse 在接口(interface)方法上提示 @Override?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/987973/