スーパークラスメソッドではなく、interfaceメソッドをオーバーライドするメソッドで@Override
を使用する既存のプロジェクトがあります。コードでこれを変更することはできませんが、まだMavenでビルドできるので、Eclpseがアノテーションについて文句を言うのをやめたいです。
このエラーを無効にするにはどうすればよいですか?
注:プロジェクトの要件により、Java 1.5用にコンパイルする必要があります。
インターフェイスで宣言されたメソッドを実装するメソッドで@Override
アノテーションを使用することは、Java 6以降でのみ有効です。 Java 5のエラーです。
IDEプロジェクトがJava 6 JREを使用するように設定されていること、および「ソースの互換性」が1.6以上に設定されていることを確認してください。
Eclipseは特定のプロジェクトのこれらのグローバル設定を上書きできるので、それらも確認してください。
更新:
Java 5の下のエラーはEclipseだけのものではありません。 javac
をコマンドラインから直接使用すると、同じエラーが発生します。 有効なJava 5ソースコードではありません。
ただし、Java 6ソースコードからJava 5バージョンクラスファイルを生成するJDK 6のjavac
に-target 1.5
オプションを指定できます。
次のようにします。
プロジェクト->プロパティ-> Javaコンパイラ->
プロジェクトにファセットがあるかどうかも確認してください。 Javaバージョンはそこでオーバーライドされる場合があります。
プロジェクト固有の設定が有効になっている場合があります。プロジェクトProject > Properties > Java Compiler
、uncheck
、Enable project specific settings
を選択するか、Jdk 1.6
以上を変更して、対応するJRE
を忘れないようにします。
機能しない場合は、プロジェクトをEclipseから削除し、.settings folders
、.project
、.classpath
ファイルを削除します。 clean and build the project, import it back into Eclipse and then reset your Java compiler. Clean and build your project
およびEclipse。それは私のために働いた
コンパイラ設定を変更してJava 6構文を受け入れ、Java 5出力を生成することもできます(覚えています)。また、ランタイムで必要な場合は、「生成されたクラスファイルの互換性」を少し低く設定します。 更新:Eclipseをチェックしましたが、ソースの互換性を1.6に、クラスの互換性を1.5に設定すると文句を言います。 1.6が許可されていない場合は、通常、ソース内の問題の@Override注釈を手動でコメントアウトします(これはケースに役立ちません)。
pdate2:手動ビルドのみを行う場合は、元のプロジェクトを新しいプロジェクトにコピーし、Javaソースから@Overrideアノテーションを削除する小さなプログラムを書くことができます。 Eclipseのクリーンプロジェクト。
Retro Weaverを試して、Java 6クラスからJavaバージョンを作成することもできます。
Eclipseを使用して、「@ Override」のすべてのインスタンスを検索および置換(削除)します。次に、「クリーンアップ」を使用して、インターフェイス以外のオーバーライドを再度追加します。
手順:
IDEプロジェクトがJava 6 JRE以上を使用するようにセットアップされるように構成することにより、Eclipseエラーが除去されない場合があります。私にとってはrestartのEclipe IDEが助けた。
[Windows]タブからコンパイラコンプライアンス設定を1.6または1.7に変更し、優先、Java、コンパイラ、コンパイラコンプライアンスの設定を行っても、この問題は引き続き発生していました。アイデアは、プロジェクトフォルダーに移動し、Javaを右クリックして、コンパイラー準拠を1.6以上に設定する必要があるということです。これは私のために働いた。
私はあなたの問題を理解しています、jdkをjdkから1.5以上に変更します