[英]setUncaughtExceptionHandler not working in Maven project
[英]@Override not working in Maven project
我有幾個這樣的覆蓋方法:
@Override
public int compareTo(Property p) {
return getText().compareTo(p.getText());
}
作為Java項目,它工作正常,但作為Maven項目,它返回以下錯誤:
The method compareTo(Property) of type Property must override a superclass method
在研究了這個之后,我想我jdk1.6_u25
我的JRE系統庫( jdk1.6_u25
)包含在我的POM文件中,或者這是一個完全不同的問題?
非常感謝。
您不需要其他依賴項。 但默認情況下,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>
compareTo
是一種通用方法。 不使用泛型,因此compareTo(Object)
是您可以覆蓋的唯一方法。
請檢查:
執行mvn -V
以查看java maven用於編譯的版本。
問候
謝謝大家的意見,很多人都說Maven默認使用Java 5並且可能是問題的原因,因此,我能夠通過這個答案確定問題:
JDK編譯器的合規性級別默認設置為1.5; 一旦我將其設置為1.6,錯誤就被刪除了。
非常感謝。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.