Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/gwt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用JDK 8构建时,GWT 2.6.0的单元测试失败_Java_Gwt_Gwt Test Utils - Fatal编程技术网

Java 使用JDK 8构建时,GWT 2.6.0的单元测试失败

Java 使用JDK 8构建时,GWT 2.6.0的单元测试失败,java,gwt,gwt-test-utils,Java,Gwt,Gwt Test Utils,我们继承了一个仍然在JDK 7上运行的旧应用程序。我们想使用JDK 8,但由于一些奇怪的原因,在使用JDK 8构建时,测试不再有效。它开始抱怨找不到某些匿名类: java.lang.NoClassDefFoundError: com/some/package/client/widget/SomeClass$1 我在某个地方读到,不应该在GWT和JDK 8中使用匿名类。我试图改变它,但它仍然不断地抱怨它找不到类:-( Collections.sort(对象,新比较器(){ 公共整数比较(Clie

我们继承了一个仍然在JDK 7上运行的旧应用程序。我们想使用JDK 8,但由于一些奇怪的原因,在使用JDK 8构建时,测试不再有效。它开始抱怨找不到某些匿名类:

java.lang.NoClassDefFoundError: com/some/package/client/widget/SomeClass$1

我在某个地方读到,不应该在GWT和JDK 8中使用匿名类。我试图改变它,但它仍然不断地抱怨它找不到类:-(

Collections.sort(对象,新比较器(){
公共整数比较(ClientObject对象1、ClientObject对象2){
int结果=0;
if((object1!=null)和&(object2!=null)){
结果=object1.getTranslation().compareTo(object2.getTranslation());
}
返回结果;
}
});
上面的代码块似乎是罪魁祸首。但不知道为什么。我也尝试升级到更新版本的GWT,但这会在测试期间导致其他NoClassDefFoundError错误。有人知道我们做错了什么吗


对于测试用例,我们使用gwt测试UTIL。

“我在哪里读到过,不应该在gwt和JDK 8中使用匿名类。”你从哪里读到的?GWT本身使用匿名类,GWT 2.8完全支持Java8。Stackoverflow上的某个地方有人提出了这个建议。但最终没有帮助。我已经知道GWT 2.8支持Java8,但这不是问题所在。问题是,当你打开JDK到Java8时使用GWT 2.6和GWT test utils进行测试的项目,由于某些奇怪的原因,它不再找到匿名类,尽管它们存在。即使将匿名类作为seprate类解压缩到单独的文件中,它也会抱怨找不到。如果找不到匿名类,应该是因为它已无效,请使用debug日志级别,并尝试查看其无效的原因。可能是其他原因,但这看起来最有可能。无效是什么意思?我应该在哪里查找此信息?如果GWT将anon类型标记为无法使用,则GWT编译器日志中将出现错误(特别是在严格模式下,或者打开调试或跟踪日志时)。不过,在我看来,这是“gwt test utils”项目的一部分,而不是gwt编译的一部分。“我在某个地方读到,不应该在gwt和JDK 8中使用匿名类。”你从哪里读到的?GWT本身使用匿名类,GWT 2.8完全支持Java8。Stackoverflow上的某个地方有人提出了这个建议。但最终没有帮助。我已经知道GWT 2.8支持Java8,但这不是问题所在。问题是,当你打开JDK到Java8时使用GWT 2.6和GWT test utils进行测试的项目,由于某些奇怪的原因,它不再找到匿名类,尽管它们存在。即使将匿名类作为seprate类解压缩到单独的文件中,它也会抱怨找不到。如果找不到匿名类,应该是因为它已无效,请使用debug日志级别,并尝试查看其无效的原因。可能是其他原因,但这看起来最有可能。无效是什么意思?我应该在哪里查找此信息?如果GWT将anon类型标记为无法使用,则GWT编译器日志中将出现错误(特别是在严格模式下,或者在调试或跟踪日志打开的情况下)。但是,在我看来,这是“gwt test utils”项目的一部分,而不是gwt编译的一部分。
        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;
            }
        });