2012-03-27 48 views
3

最近我更新了我的电脑到Ubuntu 11.10 64位。我在导入项目时遇到问题,它给了我一个错误该方法必须重写超类方法

“onView()方法必须覆盖超类方法”。

我在其他一些帖子中读到,错误应该是使用java 1.5,但是Ubuntu 11.10自带了open-6-jdk。

解决方案的任何想法?

+0

您是否在理解错误消息时遇到问题,或者在正确配置JDK/Eclipse时遇到问题? – aioobe 2012-03-27 14:17:11

+0

对于jdk来说是一个奇怪的问题,只要我在更新计算机之前让所有东西都能正常工作 – 2012-03-27 14:20:20

+0

在Eclipse中,您仍然可以决定选择与所安装的不同的Java运行时环境。在Java 5中,@Override不允许用于实现接口方法的方法,而在Java 6中则强烈鼓励它。如果您碰巧将您的项目配置到Java 5环境,您可能会遇到这种错误 – 2012-03-27 14:21:11

回答

12

听起来您的项目的JDK合规性级别设置为1.5。 (安装在机器上的Java版本只决定了您可以设置合规级别的高度。)您可以通过打开项目属性(右键单击项目名称,然后选择“属性”)并选择“Java编译器“在左边。

在Java 1.6中,@Override注释可以(也应该)用于在已实现的接口中定义的方法。 Java 1.5不允许这样做。

+0

我已经检查过它是1.6级别 – 2012-03-27 14:19:23

+0

@PedroTeran - 您是否检查了工作区属性或项目属性?他们可以不同。 – 2012-03-27 14:21:57

+0

我之前已经把工作区打了一遍,项目属性是1.5,我忘了在那里检查,并且有问题,谢谢 – 2012-03-27 14:31:27

1

也许你的机器上有多个java虚拟机。请键入

$ ls /usr/lib/jvm 

您是否看到多个条目?

如果是,请启动Eclipse并转到Help-> About Eclipse Platform-> Configuration Details,然后查找属性java.version(对于我来说它是1.7.0_03-icedtea)。

如果是错误的,你可以去Window-> Preferences-> Java-> Installed JRE,然后把它改成你喜欢的那个。

+0

好的,我已经打开了6-jdk并打开了7-jdk,但在帮助上有一个java.version = 1.6.0_23 – 2012-03-27 14:27:08

相关问题