@Override无法在Maven项目中工作

Kur*_*iss 2 java eclipse maven

我有几个这样的覆盖方法:

@Override
public int compareTo(Property p) {
    return getText().compareTo(p.getText());
}
Run Code Online (Sandbox Code Playgroud)

作为Java项目,它工作正常,但作为Maven项目,它返回以下错误:

The method compareTo(Property) of type Property must override a superclass method
Run Code Online (Sandbox Code Playgroud)

在研究了这个之后,我想我想把我的JRE系统库(jdk1.6_u25)作为我的POM文件中的依赖项,或者这是一个完全不同的问题?

非常感谢.

Ray*_*Ray 6

您不需要其他依赖项.但默认情况下,maven使用Java 5语言级别,其中@Override不允许实现接口方法.这是在6中引入的.

所以你必须配置编译器插件使用语言级别6,如下所示:

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <configuration>
                 <source>1.6</source>
                 <target>1.6</target>
            </configuration>
        </plugin>
    </plugins>
</build>
Run Code Online (Sandbox Code Playgroud)