Eclipse不喜欢@Override注释

时间:2012-07-05 22:54:11

标签: java eclipse annotations override

在我从头开始创建我的项目,使用maven依赖控制并将所有旧文件复制到一个新项目后,我发现Eclipse现在在@Override注释上发誓。当这个注释出现时,它说“方法必须覆盖超类方法”,否则保持冷静。使用快速输入时,它也不会自动插入此注释。

为什么会这样?

2 个答案:

答案 0 :(得分:3)

更改您的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>

答案 1 :(得分:1)

您很可能(希望)将@Override放在从接口继承的方法上。这仅在Java 1.6之后才有效,您的Eclipse项目很可能设置为源级别1.5(或者您运行的是非常过时的1.5 JDK,但这不太可能)