0

これは、複雑なビルド システムからのものです。そして、問題を特定するための助けを求めています。

私はこの問題にぶつかっているようです: Javac経由でコンパイルされないインターフェースの共変戻り型

コンパイルされたすべてのコードを消去した後にコンパイルすると、コードは正常にコンパイルされます。しかし、AImpl.java1 つの文字を開いて変更し (文字列リテラルを変更すると、コンパイル時にエラーが発生することはありません)、コンパイルすると、次のエラーが発生します。

AImpl.java:22: types BImpl<T> and BImpl<T> are incompatible; both define waitFor(org.openqa.selenium.support.ui.ExpectedCondition,java.lang.String,long,java.util.Collection), but with unrelated return types
public class AImpl<T extends AImpl<T>> extends BImpl<T> implements A<T> {

これは AImpl.java に固有のものです。他のコードを変更しても、この悪質なエラーは発生しません。

BImpl.javaと定義されている:

public class BImpl<T extends BImpl<T>> extends CImpl<T> implements B<T> {

エラーメソッドwaitForは次のように定義されCImplています。

public T waitFor(ExpectedCondition<?> condition, String message, long timeOutInMillis, Collection<Class<? extends Throwable>> exceptions) 
4

0 に答える 0