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)

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

Reply via email to