0

通过运行erai-mvp-demo示例应用程序时

mvn gwt:run 

我收到此错误:

java.lang.IllegalArgumentException:从 JSNI 方法 '@com.google.gwt.core.client.impl.Impl::apply(Ljava/lang/Object;Ljava/lang/Object;Ljava/ 返回 Java 对象以外的东西lang/Object;)':布尔类型的 JS 值,在 com.google.gwt.dev.shell.JsValueGlue.get(JsValueGlue.java:178) 中的预期 java.lang.Object 在 com.google.gwt.dev.shell .ModuleSpace.invokeNativeObject(ModuleSpace.java:271) 在 com.google.gwt.dev.shell.JavaScriptHost.invokeNativeObject(JavaScriptHost.java:91) 在 com.google.gwt.core.client.impl.Impl.apply(Impl .java) 在 com.google.gwt.core.client.impl.Impl.entry0(Impl.java:213) 在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java :57) 在 sun.reflect.DelegatingMethodAccessorImpl。在 com.google.gwt.dev.shell.MethodAdaptor.invoke(MethodAdaptor.java:103) 在 com.google 的 java.lang.reflect.Method.invoke(Method.java:601) 调用(DelegatingMethodAccessorImpl.java:43) .gwt.dev.shell.MethodDispatch.invoke(MethodDispatch.java:71) 在 com.google.gwt.dev.shell.OophmSessionHandler.invoke(OophmSessionHandler.java:172) 在 com.google.gwt.dev.shell.BrowserChannelServer .reactToMessagesWhileWaitingForReturn(BrowserChannelServer.java:337) at com.google.gwt.dev.shell.BrowserChannelServer.invokeJavascript(BrowserChannelServer.java:218) at com.google.gwt.dev.shell.ModuleSpaceOOPHM.doInvoke(ModuleSpaceOOPHM.java:136 ) 在 com.google.gwt.dev.shell.ModuleSpace.invokeNativeBoolean(ModuleSpace.java:184) 在 com.google.gwt 的 com.google.gwt.dev.shell.ModuleSpace.invokeNative(ModuleSpace.java:561)。dev.shell.JavaScriptHost.invokeNativeBoolean(JavaScriptHost.java:35) 在 org.jboss.errai.common.client.util.LogUtil.isNativeJavaScriptLoggerSupported(LogUtil.java) 在 org.jboss.errai.common.client.util.LogUtil。 org.jboss.errai.ioc.client.Container.boostrapContainer(Container.java:45) 的日志(LogUtil.java:29) org.jboss.errai.ioc.client.Container.onModuleLoad(Container.java:34)在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 在 java.lang.reflect.Method .invoke(Method.java:601) 在 com.google.gwt.dev.shell.ModuleSpace.onLoad(ModuleSpace.java:396) 在 com.google.gwt.dev.shell.OophmSessionHandler。loadModule(OophmSessionHandler.java:200) 在 com.google.gwt.dev.shell.BrowserChannelServer.processConnection(BrowserChannelServer.java:525) 在 com.google.gwt.dev.shell.BrowserChannelServer.run(BrowserChannelServer.java:363)在 java.lang.Thread.run(Thread.java:722)

4

3 回答 3

1

我假设您正在使用 Chrome。这似乎是它的一个常见问题。我有同样的问题并切换到Firefox。从那以后我没有看到错误。

于 2013-02-13T02:37:34.950 回答
0

如果您使用的是 Chrome,是的。此问题与CHROME发生有关。

根据@Thomos Broyer相对于谷歌群组的同一问题:

https://groups.google.com/forum/?fromgroups=#!topic/google-web-toolkit/b0KbD8BNsqw

快速修复:从 Chrome 切换到 Firefox 开发模式

您可以在 Stackoverflow 上找到相同的问题。也请参阅该问题的答案

于 2013-02-13T05:34:25.003 回答
0

如果您收到 IllegalArgumentException,只需对客户端模型或 bean 进行一些更改。

当您返回具有他的数据类型的值时,只需提及包路径。

public native final Boolean apply() /*-{
 return this.apply ? @java.lang.Double::Boolean(D)(this.apply) : null;
 }-*/;
于 2015-02-26T10:52:15.267 回答