Java RequestFactoryServlet意外错误-无法将布尔值转换为字符串

Java RequestFactoryServlet意外错误-无法将布尔值转换为字符串,java,google-app-engine,gwt,java-7,requestfactory,Java,Google App Engine,Gwt,Java 7,Requestfactory,我试图将我的应用程序切换到java-7,但当我使用RequestFactory从appengine加载我的对象时,我收到以下错误: com.google.web.bindery.requestfactory.server.RequestFactoryServlet doPost: Unexpected error java.lang.ClassCastException: Cannot cast java.lang.Boolean to java.lang.String at java.

我试图将我的应用程序切换到java-7,但当我使用RequestFactory从appengine加载我的对象时,我收到以下错误:

com.google.web.bindery.requestfactory.server.RequestFactoryServlet doPost: Unexpected error
java.lang.ClassCastException: Cannot cast java.lang.Boolean to java.lang.String
    at java.lang.Class.cast(Class.java:3062)
    at com.google.web.bindery.autobean.vm.impl.BeanPropertyContext.set(BeanPropertyContext.java:44)
    at com.google.web.bindery.requestfactory.server.Resolver$PropertyResolver.visitValueProperty(Resolver.java:155)
    at com.google.web.bindery.autobean.vm.impl.ProxyAutoBean.traverseProperties(ProxyAutoBean.java:289)
    at com.google.web.bindery.autobean.shared.impl.AbstractAutoBean.traverse(AbstractAutoBean.java:166)
    at com.google.web.bindery.autobean.shared.impl.AbstractAutoBean.accept(AbstractAutoBean.java:101)
    at com.google.web.bindery.requestfactory.server.Resolver.resolveClientValue(Resolver.java:414)
    at com.google.web.bindery.requestfactory.server.SimpleRequestProcessor.processInvocationMessages(SimpleRequestProcessor.java:491)
    at com.google.web.bindery.requestfactory.server.SimpleRequestProcessor.process(SimpleRequestProcessor.java:233)
    at com.google.web.bindery.requestfactory.server.SimpleRequestProcessor.process(SimpleRequestProcessor.java:135)
    at com.google.web.bindery.requestfactory.server.RequestFactoryServlet.doPost(RequestFactoryServlet.java:133)

使用java-6,一切都正常工作。这种情况仅在java-7中发生,并且仅在appengine上发生。在开发模式下使用java-7时没有问题。你知道是什么导致了这个问题吗?

可能是因为你有两个同名的setter,一个取
字符串,另一个取
布尔值或
布尔值吗?这是一个布尔值的setter查看
BeanPropertyContext
的代码,它看起来像是getter和setter之间的类型不匹配(类型为
String
的getter,类型为
Boolean
的setter)。我刚刚遇到这个错误,发现服务器类有一个“hasValue”和“getValue”,一个返回布尔值,一个返回字符串。我删除了hasValue,它就工作了。编辑:另外,在superdev模式下不会发生错误。它只在完整构建部署时出错。