Le 28/09/2010 16:56, sebb a écrit : > On 28 September 2010 15:42, Luc Maisonobe <luc.maison...@free.fr> wrote: >> Le 28/09/2010 16:25, Gilles Sadowski a écrit : >>>> >>>> It seems some recent changes break compilation. Not in this specific >>>> set, but probably one of the previous ones from today or yesterday. >>> >>> Break compilation? >>> "mvn clean site" produces a "BUILD SUCCESSFUL" here. >>> >>>> The problems are some @Override annotations in BetaDistributionImpl >>>> (getAlpha, getBeta), GammaDistributionImpl (getalpha, getBeta) and >>>> ExponentialDistributionImpl (getMean). They directly implement >>>> interfaces and do not extend a superclass, so the Override annotation >>>> generates an error (at least on Eclipse). >>> >>> So, does that mean that Eclipse refuses to compile because of annotations? >> >> Yes. >> >>> Seems a bug in Eclipse... > > It's an incompatibilty between Java 1.5 and Java 1.6. > >> No, it is the expected behaviour, or at least it is what I understand >> from this: >> <http://java.sun.com/docs/books/jls/third_edition/html/interfaces.html#9.6.1.4> >> >> "Note that if a method overrides a method from a superinterface but >> not from a superclass, using @Override will cause a compile-time >> error." >> > > This is only true for Java 1.5. > >>> >>> Is it the expected behaviour that "@Override" only means "overrides a >>> method in a class but not in an interface"? >> >> Yes. >> >>> >>> [Anyway, I'll try and remove the annotations in all those problematic >>> cases. I thought I was being nice in putting them :-}.] >> >> I agree this is strange. They explain the rationale for it in the link >> above. > > ... where they say that using @Override for interface implementations > would be confusing. > > But unfortunately they changed their minds with Java 1.6 - > implementations of interfaces should now have @Override tags. > > You can change the Eclipse settings to stop reporting this: > > Properties | Java Compiler | Errors/Warnings | Annotations | Missing > '@Override' | Include implementations of interface methods (1.6 or > higher)
As we target 1.5 for [math], it may be better to not do that and staty with the strange behaviour. Luc > > I could not find an updated JLS which documents this. > > --------------------------------------------------------------------- > To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org > For additional commands, e-mail: dev-h...@commons.apache.org > > --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org For additional commands, e-mail: dev-h...@commons.apache.org