プロジェクトをゼロから作成し、Maven の依存関係の制御を試し、すべての古いファイルを新しいプロジェクトにコピーした後、Eclipse が @Override アノテーションを使用していることに気付きました。この注釈が存在する場合、「メソッドはスーパークラス メソッドをオーバーライドする必要があります」と表示され、存在しない場合はクールなままです。また、クイック入力を使用する場合、この注釈は自動挿入されません。
なぜこれができるのですか?
プロジェクトをゼロから作成し、Maven の依存関係の制御を試し、すべての古いファイルを新しいプロジェクトにコピーした後、Eclipse が @Override アノテーションを使用していることに気付きました。この注釈が存在する場合、「メソッドはスーパークラス メソッドをオーバーライドする必要があります」と表示され、存在しない場合はクールなままです。また、クイック入力を使用する場合、この注釈は自動挿入されません。
なぜこれができるのですか?
maven pomを変更して、Java 6または7を適用します。pomを使用してプロジェクトをインポートすると、デフォルトでJava 1.5 JDKになる前に、この問題が発生しました。
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.0.2</version>
<configuration>
<source>1.6</source>
<target>1.6</target>
</configuration>
</plugin>
</plugins>
</build>
ほとんどの場合(したい)@Override
、インターフェースから継承されたメソッドを使用します。これは、Java 1.6以降でのみ有効です。Eclipseプロジェクトはソースレベル1.5に設定されている可能性があります(または、非常に古い1.5 JDKを実行していますが、それはありそうにありません)。