JDK 7 で実行される古いアプリケーションを継承しました。JDK 8 を使用したいのですが、何らかの奇妙な理由で、JDK 8 でビルドするとテストが機能しなくなりました。特定の匿名クラスが見つからないという不平を言い始めます。
java.lang.NoClassDefFoundError: com/some/package/client/widget/SomeClass$1
GWT および JDK 8 で匿名クラスを使用してはならないことをどこかで読みました。それを変更しようとしましたが、それでもクラスが見つからないという不平を言い続けます :-(.
Collections.sort(objects, new Comparator<ClientObject>() {
public int compare(ClientObject object1, ClientObject object2) {
int result = 0;
if ((object1 != null) && (object2 != null)) {
result = object1.getTranslation().compareTo(object2.getTranslation());
}
return result;
}
});
上記のコード ブロックが原因のようです。しかし、理由がわかりません。また、GWT の新しいバージョンにアップグレードしようとしましたが、テスト中に他の NoClassDefFoundError エラーが発生します。私たちが間違っていることを誰か知っていますか?
テスト ケースには、gwt-test-utils を使用します。