java - 为什么 Eclipse 在接口(interface)方法上提示 @Override?

标签 java eclipse interface annotations syntax-error

我有一个现有项目在覆盖 interface 方法而不是父类(super class)方法的方法上使用 @Override。我无法在代码中更改它,但我希望 Eclpse 停止提示注释,因为我仍然可以使用 Maven 构建。

我将如何禁用此错误?

注意:由于项目需要,我需要为Java 1.5编译。

最佳答案

在实现接口(interface)声明的方法的方法上使用 @Override 注释仅从 Java 6 开始有效。这是 Java 5 中的错误。

确保您的 IDE 项目设置为使用 Java 6 JRE,并且“源兼容性”设置为 1.6 或更高版本:

  1. 打开窗口 > 首选项对话框
  2. 浏览到 Java > 编译器。
  3. 在那里,将“编译器合规级别”设置为 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/

相关文章:

java - 我可以在 Jsoup 中的所有 html text() 元素之间包含空格吗

java - RESTEasy JAX-RS 应用程序未调用 @PreDestroy

java - Eclipse 系统.属性 Windows 7

java - 从 JSP 输出环境变量

c# - 接口(interface)中的属性

java - 为什么我会收到无法解析的日期异常?

java - 强制用户输入和文件读取器输入的编码标准化

c++ - -l : option via Eclipse

inheritance - VB6在子类中访问父类的重载接口(interface)子程序

java - Scala 和 util.Iterator[_]