スーパークラスメソッドではなく、インターフェイスメソッド@Override
をオーバーライドするメソッドを使用する既存のプロジェクトがあります。これをコードで変更することはできませんが、Mavenで引き続きビルドできるため、Eclpseがアノテーションについて不平を言わないようにしてください。
このエラーを無効にするにはどうすればよいですか?
注:プロジェクトの要件により、Java 1.5用にコンパイルする必要があります。
スーパークラスメソッドではなく、インターフェイスメソッド@Override
をオーバーライドするメソッドを使用する既存のプロジェクトがあります。これをコードで変更することはできませんが、Mavenで引き続きビルドできるため、Eclpseがアノテーションについて不平を言わないようにしてください。
このエラーを無効にするにはどうすればよいですか?
注:プロジェクトの要件により、Java 1.5用にコンパイルする必要があります。
回答:
@Override
インターフェースで宣言されたメソッドを実装するメソッドでのアノテーションの使用は、Java 6以降でのみ有効です。これはJava 5のエラーです。
IDEプロジェクトがJava 6 JREを使用するように設定されていること、および「ソース互換性」が1.6以上に設定されていることを確認します。
Eclipseは特定のプロジェクトのこれらのグローバル設定をオーバーライドできるので、それらも確認してください。
更新:
Java 5でのエラーはEclipseだけのものではありません。javac
コマンドラインから直接使用すると、同じエラーが発生します。有効なJava 5ソースコードではありません。
ただし、-target 1.5
JDK 6のオプションを指定できますjavac
。これにより、Java 6ソースコードからJava 5バージョンのクラスファイルが生成されます。
次のようにします。
プロジェクト->プロパティ-> Javaコンパイラ->
プロジェクトにファセットがあるかどうかも確認してください。そこでJavaバージョンがオーバーライドされる可能性があります。
プロジェクト固有の設定が有効になっている可能性があります。プロジェクトを選択しProject > Properties > Java Compiler
、または変更して上記の対応を忘れてはならないし。
それが機能しない場合は、Eclipseからプロジェクトを削除し、ファイルを削除します。そして日食。それは私のために働いたuncheck
Enable project specific settings
Jdk 1.6
JRE
.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
Java 6構文を受け入れるようにコンパイラー設定を変更し、Java 5出力を生成することができます(覚えています)。ランタイムで必要な場合は、「生成されたクラスファイルの互換性」を少し低く設定します。 更新:私はEclipseをチェックしましたが、ソースの互換性を1.6に、クラスの互換性を1.5に設定すると不平を言います。1.6が許可されていない場合は、通常、ソース内の問題のある@Overrideアノテーションを手動でコメント化します(これはあなたのケースには役立ちません)。
Update2: 手動ビルドのみを行う場合は、元のプロジェクトを新しいプロジェクトにコピーし、Javaソースから@Overrideアノテーションを削除して、EclipseでClean Projectをクリックするだけの小さなプログラムを作成できます。
Retroweaverを試し、Java6クラスからJava5バージョンを作成することもできます。
Eclipseを使用して、「@ Override」のすべてのインスタンスを検索および置換(削除)します。次に、「クリーンアップ」を使用して、インターフェース以外のオーバーライドを追加します。
手順: