當我實現接口的方法時,Eclipse正在添加@Override註釋。 Eclipse似乎對此沒有任何問題。而Cruise Control的自動化構建過程似乎對此沒有任何問題。但是當我從命令行構建,使用運行javac的ant時,出現此錯誤:爲什麼javac在@Override註釋上失敗
[javac] C:\path\project\src\com\us\MyClass.java:70: method does not override a method from its superclass
[javac] @Override
[javac] ^
[javac] 1 error
Eclipse正在Java 1.6下運行。 Cruise Control運行Java 1.5。無論我使用哪個版本的Java,我的ant構建都會失敗。
這是一個很好的答案;我有一件事要補充:如果出於任何原因想要保留在JDK 1.5上,只需升級到最新的更新版本即可。我使用u21,它編譯這些類型的@Overrides就好了。 – 2010-02-25 16:45:53
酷 - 我會將其添加到我的答案。 – 2010-02-25 16:53:33
我同時安裝了JDK 1.5u21和1.5u22,並且javac不允許在任何版本中的接口方法實現上使用@Override。 下面,MyRunnable實現了java.lang.Runnable: C:/Java/jdk/1.5.0_21/bin/javac MyRunnable.java MyRunnable.java:3:方法不從其超 @覆蓋覆蓋方法public void run(){} ^ 1錯誤 [發行說明](http://java.sun.com/j2se/1.5.0/ReleaseNotes.html)中沒有提及。 – djb 2010-07-16 17:42:14