0

オープンソースのJavaプロジェクトをダウンロードしましたJMapViewer

http://svn.openstreetmap.org/applications/viewer/jmapviewer/

Eclipseにインポートした後、多くのコンパイラエラーが発生します。これらはすべて@Override、インターフェイスから実装されているメソッドに先行する表記に関するものです。私はこのエラーを完全に理解しています。なぜなら@Override、スーパークラスメソッド(実装ではなく拡張)をオーバーライドするメソッドの表記のみを使用するからです。これが唯一の使用目的であると信じています(それでも必要ではないと思います)。 。

このプロジェクトは4か月間維持されていませんが、改訂とコミュニティの貢献の長い歴史があります。それらの注釈がコンパイルを妨げているのになぜそこにあるのか理解できません@Overrideが、私の経験不足では、以前のプロジェクトの貢献者である注釈をそこに置いた人には、私には明らかではないいくつかの正当な理由があったと考えなければなりません。プロジェクトのドキュメントには、JDK 1.5での使用を目的としていると記載されているため、Eclipseで1.5、1.6、1.7で交互にコンパイルしてみましたが、いずれの場合も結果は同じです...コンパイラはこれらに非常に不満を持っています表記はそれらがどこにあるかです。

だから...私は何が欠けていますか?

4

2 に答える 2

2

Java5とJava6@Overrideのどちらを使用しているかによって異なります。インターフェースのオーバーライドされたメソッドは、Java6でのみ追加されました。

于 2012-12-15T08:34:27.450 に答える
2

あなたが見たドキュメントは正しいです。@overrideJDK 1.6以降、コンパイラはインターフェイスメソッドを実装するメソッドで受け入れる必要があります。

コマンドラインからコンパイルして、1.5コンパイラを使用してEclipseがまだ発生していないことを確認してください。

于 2012-12-15T08:34:55.463 に答える