我有一个现有项目,其中在覆盖接口方法时使用@Override
而不是超类方法。 我不能在代码中更改这个,但我希望Eclipse停止抱怨此注释,因为我仍然可以使用Maven构建。
我该如何禁用此错误?
注意:由于项目要求,我需要编译为Java 1.5。
我有一个现有项目,其中在覆盖接口方法时使用@Override
而不是超类方法。 我不能在代码中更改这个,但我希望Eclipse停止抱怨此注释,因为我仍然可以使用Maven构建。
我该如何禁用此错误?
注意:由于项目要求,我需要编译为Java 1.5。
@Override
注解只适用于Java 6及更高版本。在Java 5中会出错。javac
命令行也会出现相同的错误。这不是有效的Java 5源代码。
但是,你可以向JDK 6的javac
指定-target 1.5
选项,这将从Java 6源代码生成一个Java 5版本的类文件。请按照以下步骤操作:
项目 -> 属性 -> java编译器 ->
同时也要检查项目是否有面向(facets)设置,Java版本可能会在那里被覆盖。
可以启用项目特定设置。选择您的项目 Project > Properties > Java Compiler
,取消选中
启用项目特定设置
或更改 Jdk 1.6
及以上版本,并不要忘记相应的 JRE
。
如果不起作用,请从 Eclipse 中删除您的项目,删除 .settings folders
,.project
,.classpath
文件。 清理并构建项目,将其导入到 Eclipse 中,然后重置您的 Java 编译器
。清理和构建您的项目和 Eclipse。它对我有用。
更新2: 如果您只进行手动构建,可以编写一个小程序将原始项目复制到新项目中,从Java源代码中删除@Override注释,然后在Eclipse中点击“清理项目”。
使用Eclipse搜索和替换(删除)所有"@Override"的实例。然后使用"Clean Up"添加非接口覆盖。
步骤:
通过配置IDE项目使用Java 6 JRE或更高版本有时无法消除Eclipse错误。对我来说,重新启动Eclipe IDE有所帮助。