在我从头开始创建我的项目、使用 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,但这不太可能)