ChatGPT解决这个技术问题 Extra ChatGPT

将项目导入 Eclipse 后出现“必须覆盖超类方法”错误

每当我必须将我的项目重新导入 Eclipse 时(如果我重新安装了 Eclipse,或者更改了项目的位置),几乎所有我覆盖的方法都没有正确格式化,从而导致错误:

该方法必须覆盖超类方法

值得一提的是,无论出于何种原因,对于 Android 项目,方法参数值并不总是填充,因此我必须自己手动填充它们。例如:

list.setOnCreateContextMenuListener(new OnCreateContextMenuListener() {

    //These arguments have their correct names
    public void onCreateContextMenu(ContextMenu menu, View v, 
                                    ContextMenuInfo menuInfo) {                 
    }

});

最初将像这样填充:

list.setOnCreateContextMenuListener(new OnCreateContextMenuListener() {

    //This methods arguments were not automatically provided    
    public void onCreateContextMenu(ContextMenu arg1, View arg2,
                                    ContextMenuInfo arg3) {
    }

});

奇怪的是,如果我删除我的代码,并让 Eclipse 自动重新创建该方法,它使用我已经拥有的相同参数名称,所以我真的不知道问题出在哪里,除此之外它会自动格式化方法我。

不得不手动重新创建所有我重写的方法,这变得相当痛苦。如果有人能解释为什么会发生这种情况或如何解决它。我会很高兴的。

也许是由于我格式化方法的方式,这些方法在另一个方法的参数中?

请检查此项,它解释了覆盖的使用。我相信这种做法对一切都非常重要,不仅对这种情况尤其如此。 stackoverflow.com/questions/94361/…

L
Lii

Eclipse 默认使用 Java 1.5,并且您有实现接口方法的类(在 Java 1.6 中可以用 @Override 注释,但在 Java 1.5 中只能应用于覆盖超类方法的方法)。

转到您的项目/IDE 首选项并将 Java 编译器级别设置为 1.6,并确保您选择 JRE 1.6 以从 Eclipse 执行您的程序。


我的项目设置为 1.6,所以我为星星拍摄并将其设置为 1.5,重建,然后回到 1.6。奇迹般地解决了我的问题。感谢您为我指明正确的方向!
有同样的问题......尝试了这个答案中给出的建议,但仍然没有成功。 :( :(
@MichaelKrauklis我1.6岁,我遇到了这个问题。我已经设置为 1.5 并清理它,然后设置回 1.6 并再次清理它。仍然没有解决。有任何想法吗?
同样的问题,就我而言,我没有安装 JDK 1.6,只有最新的 1.7,这显然不适用于 Android。安装较旧的 1.6,然后按照这些说明进行操作,应该可以工作:)
应该提到(就像在其他答案的评论中一样)通常需要一个干净的构建然后重新启动。
P
Paul

使用 Eclipse Galileo,您可以转到 Eclipse -> Preferences 菜单项,然后在对话框中选择 Java 和 Compiler。

现在它仍然可能显示 1.6 的编译器合规级别,但您仍然会看到这个问题。所以现在选择链接“配置项目特定设置...”,在那里你会看到项目设置为 1.5,现在将其更改为 1.6。您需要对所有受影响的项目执行此操作。

这种拜占庭式的菜单/对话框界面是 Eclipse 糟糕的 UI 设计的典型代表。


E
Eagle

万一这发生在尝试了 alphazero 和 Paul 的方法但仍然无效的其他人身上。

对我来说,即使在执行 Project > Clean... 之后,eclipse 也会以某种方式“缓存”编译错误。

我不得不取消选中 Project > Build Automatically,然后执行 Project > Clean,然后再次构建。

此外,如有疑问,请尝试重新启动 Eclipse。这可以解决很多尴尬的、无法解释的错误。


我不仅这样做了,而且在“清理”对话框中未选中“自动启动构建”。只有这样它才对我有用。
即使在删除错误之后,我也必须重新启动 eclipse。
S
Sathyajith Bhat

要解决此问题,请转到您的项目属性 -> Java 编译器 -> 选择编译器合规级别为 1.6-> 应用。


u
ulrich

保罗的回答部分对我有用。那时我仍然有一个错误。因此,除此之外,我还必须转到 Properties-> Project Facets 并将 Java 版本从 1.5 设置为 1.6。

也许这有帮助。


p
phil294

如果以上没有任何帮助,请确保您选择了正确的“执行环境”,而不是“备用 JRE”。

可在以下位置找到:

项目 -> 构建路径 -> 库

选择 JRE System Library 并点击 Edit...

如果选择了“Alternate JRE ...”,请将其更改为合适的“执行环境”,如 JavaSE-1.8 (jre1.8.0_60)。不知道为什么,但这会解决它。


我选择了一个“执行环境”,然后按 OK,错误就消失了。然后我回到同一个对话框,选择“Workspace default JRE (...)”,这是我之前从 Eclipse 收到错误时的选择,然后按 OK,错误没有发生?!?这一定是 Eclipse UI 错误或类似的错误(我在 Eclipse Neon 4.6.2 上)
w
will824

就我而言,上述解决方案均无效。

我不得不删除项目工作区中的文件:

。项目

.classpath

和文件夹:

.settings

然后我从以前工作的类似项目中复制了这些。这设法修复了我损坏的项目。

当然在尝试以前的替代方案之前不要使用这种方法!。


o
ob.yann

这是我第二次遇到这个问题。第一次根据 alphazero 的建议,它起作用了。但是在第二次我设置为 1.6 时,它在清理和重建后不能像“CACHE”一样工作。

正如 Rollin_s 所说,尝试关闭“自动构建”-> 错误仍然存在!

所以我从包资源管理器中删除了问题项目(已经设置为 1.6)并再次导入 -> 它开始重建,这次没有错误

希望这对某人有帮助


m
mljrg

在我的情况下,当我将 Maven 项目导入 Eclipse 时发生了这个问题。为了解决这个问题,我在 pom.xml 中添加了以下内容:

<properties>
   ...
   <maven.compiler.source>1.8</maven.compiler.source>
   <maven.compiler.target>1.8</maven.compiler.target>
</properties>

然后在项目的上下文菜单中,转到“Maven -> Update Project ...”,然后按 OK。

而已。希望这可以帮助。


谢谢,我想这会覆盖父 pom 配置或其他东西。 (我反过来说问题,eclipse没有问题,但是maven的编译器让我“必须覆盖等”)
S
Sunil

修复必须覆盖超类方法错误并不难,您只需将 Java 源版本更改为 1.6,因为从 Java 1.6 开始,@Override 注释可以与接口方法一起使用。要将源版本更改为 1.6,请执行以下步骤:

选择项目,右键单击,属性选择 Java 编译器并选中复选框“启用项目特定设置”现在将编译器合规级别设置为 1.6 应用更改


H
Hắc Huyền Minh

就我而言,上述解决方案均无效。我必须将我的源代码签出到另一个文件夹。从 eclipse 中选择 File > Switch workSpaces > Other...,然后将代码导入新的工作区。之后它就起作用了。


H
HashanR

当您的 maven 项目使用不同的 Compiler Compliance 级别而 Eclipse IDE 使用不同的 Compiler Compliance 级别时,就会发生这种情况。为了解决这个问题,我们需要将 Maven 项目的 Compiler Compliance 级别更改为 IDE 使用的级别。

1) 在 Eclipse IDE 中查看 Java 编译器合规性级别的使用

*) Window -> Preferences -> Compiler -> Compiler Compliance level : 1.8 (or 1.7, 1.6 ,, ect)

2) 更改 Maven 项目的 Java Compiler Compliance 级别

*)转到“项目”->“属性”->选择“Java编译器”->更改编译器合规级别:1.8(或1.7、1.6等)


V
Vikas Piprade

现在是 2020 年——

项目>右键单击>Java编译器>编译器合规级别>将此更改为1.8 [或最新级别]

https://i.stack.imgur.com/BvGnZ.png


关注公众号,不定期副业成功案例分享
关注公众号

不定期副业成功案例分享

领先一步获取最新的外包任务吗?

立即订阅