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
GWT除臭剂生成器ClassCastException_Gwt_Builder_Classcastexception_Requestfactory_Deobfuscation - Fatal编程技术网

GWT除臭剂生成器ClassCastException

GWT除臭剂生成器ClassCastException,gwt,builder,classcastexception,requestfactory,deobfuscation,Gwt,Builder,Classcastexception,Requestfactory,Deobfuscation,我有一个使用RequestFactory的GWT Web应用程序-该应用程序似乎启动得很好,但当我尝试在浏览器中打开它时,它就会出现以下异常: com.google.web.bindery.requestfactory.server.RequestFactoryServlet doPost SEVERE: Unexpected error java.lang.ClassCastException: class com.myapp.console.shared.MyAppRequestFactor

我有一个使用RequestFactory的GWT Web应用程序-该应用程序似乎启动得很好,但当我尝试在浏览器中打开它时,它就会出现以下异常:

com.google.web.bindery.requestfactory.server.RequestFactoryServlet doPost
SEVERE: Unexpected error
java.lang.ClassCastException: class com.myapp.console.shared.MyAppRequestFactoryDeobfuscatorBuilder
    at java.lang.Class.asSubclass(Class.java:3126)
    at com.google.web.bindery.requestfactory.vm.impl.Deobfuscator$Builder.load(Deobfuscator.java:52)
    at com.google.web.bindery.requestfactory.server.ResolverServiceLayer.updateDeobfuscator(ResolverServiceLayer.java:43)
    at com.google.web.bindery.requestfactory.server.ResolverServiceLayer.resolveRequestFactory(ResolverServiceLayer.java:176)
    at com.google.web.bindery.requestfactory.server.ServiceLayerDecorator.resolveRequestFactory(ServiceLayerDecorator.java:172)
    at com.google.web.bindery.requestfactory.server.ServiceLayerDecorator.resolveRequestFactory(ServiceLayerDecorator.java:172)
    at com.google.web.bindery.requestfactory.server.ServiceLayerDecorator.resolveRequestFactory(ServiceLayerDecorator.java:172)
    at com.google.web.bindery.requestfactory.server.ServiceLayerDecorator.resolveRequestFactory(ServiceLayerDecorator.java:172)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:606)
    at com.google.web.bindery.requestfactory.server.ServiceLayerCache.getOrCache(ServiceLayerCache.java:233)
    at com.google.web.bindery.requestfactory.server.ServiceLayerCache.resolveRequestFactory(ServiceLayerCache.java:198)
    at com.google.web.bindery.requestfactory.server.SimpleRequestProcessor.process(SimpleRequestProcessor.java:215)
    at com.google.web.bindery.requestfactory.server.SimpleRequestProcessor.process(SimpleRequestProcessor.java:135)
    at com.google.web.bindery.requestfactory.server.RequestFactoryServlet.doPost(RequestFactoryServlet.java:133)
    ....

MyAppRequestFactoryDeobFactorBuilder类是自动生成的(我的类是MyAppRequestFactory),因此调试起来非常困难。几周前,当我上次使用这个应用程序时,这种情况并不经常发生。导致此错误的原因是什么?如何修复?我不是一个GWT专家,所以小词和易懂的解释将不胜感激

这可能是类加载器问题,
deobfousator.Builder
从不同的类加载器(同级或子级,而非父级)加载,而不是从
MyAppRequestFactorydeobfousatorbuilder
加载,因此
MyAppRequestFactoryDeobFousatorBuilder
DeobFousator.Builder
父类与尝试加载它的
DeobFousator.Builder
类不同

从开始工作到现在,你有没有改变什么

(注意:,因此,如果您更新到GWT 2.6.0,并且没有严格遵循预期的项目布局,即
WEB-INF/lib
中缺少一些lib,和/或编译的类不在
WEB-INF/classes
,那么您可以处理此类问题)