2012-03-27 18 views
3

最近私のコンピュータをUbuntu 11.10 64ビットに更新しました。プロジェクトをインポートするときに問題が発生しました。エラーが発生します。このメソッドはスーパークラスメソッドをオーバーライドする必要があります

"メソッドonView()はスーパークラスメソッドをオーバーライドする必要があります。"

エラーはJava 1.5を使用するはずですが、Ubuntu 11.10にはopen-6-jdkが付属しています。

解決策はありますか?

+0

エラーメッセージを理解しているか、JDK/Eclipseの設定に問題がありますか? – aioobe

+0

はjdkの奇妙な問題です。私のコンピュータをアップデートする前にすべてが動いていればいいです。 –

+0

Eclipseでは、インストールされているものとは異なるJava Runtime Environmentを選択することができます。 Java 5では、@Overrideはインタフェースメソッドを実装するメソッドでは許可されていませんでしたが、Java 6では強く推奨されていました。プロジェクトをJava 5環境に設定した場合、この種のエラーが発生する可能性があります。 –

答えて

12

プロジェクトのJDK準拠レベルが1.5に設定されているようです。 (マシンにインストールされているJavaのバージョンは、コンプライアンスレベルをどれだけ高く設定できるかだけを決定します)。プロジェクトプロパティを開いて(プロジェクト名を右クリックし、[プロパティ]を選択)、Java左側の「コンパイラ」をクリックします。

Java 1.6では、@Overrideアノテーションは、実装されたインタフェースで定義されたメソッドで使用できます(また、使用する必要があります)。 Java 1.5ではこれが許可されていませんでした。

+0

既に1.6レベルであることを確認しました。 –

+0

@PedroTeran - ワークスペースのプロパティまたはプロジェクトプロパティを確認しましたか?彼らは異なることができます。 –

+0

私は以前にワークスペースをckeckedしていましたが、プロジェクトのプロパティは1.5だったので、そこをチェックして忘れました。問題があります。 –

1

マシンに複数のJava仮想マシンがある可能性があります。タイプしてください

$ ls /usr/lib/jvm 

複数のエントリがありますか?

はいの場合は、Eclipseを起動し、ヘルプ - > About Eclipse Platform-> Configuration Detailsをクリックし、プロパティjava.version(私にとっては1.7.0_03-icedtea)を探します。

間違っている場合は、[ウィンドウ] - > [環境設定] - > [Java] - > [インストール済みJRE]に移動して、好きなものに変更できます。

+0

ええ私はopen-6-jdkとopen-7-jdkを持っていますが、ヘルプではjava.version = 1.6.0_23 –

関連する問題