0

我遇到了 java 编译器的一个非常奇怪的行为。

我有一个 maven 项目,它可以在 Mac OS X 上完美编译,但在 Linux 上,当它找到与超类方法相关的 @Override 时,会出现“方法不会覆盖或实现超类型的方法”错误。

例如,我有课:

public abstract class State<M extends OperationApplication, R extends UnaryRelation<? extends Object>> implements BehaviorModelVisitable, Serializable {
    public abstract State<M, R> transform(StateAbstractionTransformer<M, R> transformer);
}

我得到了与@Override 相对应的上述错误:

public final class AbstractState extends State<ActualObserverApplication, UnaryRelation<? extends Object>> {
    @Override
    public State<ActualObserverApplication, UnaryRelation<? extends Object>> transform(StateAbstractionTransformer<ActualObserverApplication, UnaryRelation<? extends Object>> transformer) {
}

如何让它在运行 Hudson 的 Linux 机器上正确编译?那台机器有

javac 1.6.0_26
4

0 回答 0