This is most likely because you are switching between Java 1.5 and Java 1.6. In 1.5 you couldn’t mark interface implementations with @Override, but you can in 1.6.
A quick Google search turned up this good explanation of the difference in this annotation between the two versions: http://www.techienuggets.com/CommentDetail?tx=38155
Semantics of @Override is different in
JDK 1.5 and JDK 1.6. In JDK 1.5, the
@Override annotation is not allowed
for implementations of methods
declared in an interface, while they
are allowed in JDK 1.6. For more
information, see:http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=5008260
http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6399361
http://blogs.oracle.com/ahe/?entry=overrideIt is fact that the description of the
Override annotation was not updated
in the JDK API docs. This has been
reported as a bug:http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6501053bugdatabase/view_bug.do?bug_id=6501053