1

我们继承了一个仍然在 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。

4

0 回答 0