これは、複雑なビルド システムからのものです。そして、問題を特定するための助けを求めています。
私はこの問題にぶつかっているようです: Javac経由でコンパイルされないインターフェースの共変戻り型
コンパイルされたすべてのコードを消去した後にコンパイルすると、コードは正常にコンパイルされます。しかし、AImpl.java
1 つの文字を開いて変更し (文字列リテラルを変更すると、コンパイル時にエラーが発生することはありません)、コンパイルすると、次のエラーが発生します。
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)