Java コンパイラの非常に奇妙な動作が発生しています。
Mac OS Xで完全にコンパイルされるmavenプロジェクトがありますが、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