通过
运行errai-mvp-demo示例应用程序时mvn gwt:run
我收到此错误:
java.lang.IllegalArgumentException:Java对象以外的东西 从JSNI方法返回 '@ com.google.gwt.core.client.impl.Impl ::申请(Ljava /郎/对象; Ljava /郎/对象; Ljava /郎/对象;)': boolean类型的JS值,期望java.lang.Object at com.google.gwt.dev.shell.JsValueGlue.get(JsValueGlue.java:178)at at 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)at com.google.gwt.core.client.impl.Impl.entry0(Impl.java:213)at at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 在java.lang.reflect.Method.invoke(Method.java:601)at com.google.gwt.dev.shell.MethodAdaptor.invoke(MethodAdaptor.java:103) 在 com.google.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) 在 com.google.gwt.dev.shell.BrowserChannelServer.invokeJavascript(BrowserChannelServer.java:218) 在 com.google.gwt.dev.shell.ModuleSpaceOOPHM.doInvoke(ModuleSpaceOOPHM.java:136) 在 com.google.gwt.dev.shell.ModuleSpace.invokeNative(ModuleSpace.java:561) 在 com.google.gwt.dev.shell.ModuleSpace.invokeNativeBoolean(ModuleSpace.java:184) 在 com.google.gwt.dev.shell.JavaScriptHost.invokeNativeBoolean(JavaScriptHost.java:35) 在 org.jboss.errai.common.client.util.LogUtil.isNativeJavaScriptLoggerSupported(LogUtil.java) 在org.jboss.errai.common.client.util.LogUtil.log(LogUtil.java:29) 在 org.jboss.errai.ioc.client.Container.boostrapContainer(Container.java:45) 在 org.jboss.errai.ioc.client.Container.onModuleLoad(Container.java:34) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 在java.lang.reflect.Method.invoke(Method.java:601)at com.google.gwt.dev.shell.ModuleSpace.onLoad(ModuleSpace.java:396)at 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)
答案 0 :(得分:1)
我假设您正在使用Chrome.This似乎是一个常见的问题。我有同样的问题,并切换到Firefox。我没有看到错误。
答案 1 :(得分:0)
如果您使用的是Chrome,那么。问题出在CHROME
。
根据 @Thomos Broyer 相对于Google群组中的相同问题:
https://groups.google.com/forum/?fromgroups=#!topic/google-web-toolkit/b0KbD8BNsqw
快速修复:从Chrome切换到适用于开发模式的Firefox
你可以在Stackoverflow上找到相同的问题。也可以查看question的答案。
答案 2 :(得分:0)
如果您收到IllegalArgumentException,只需在客户端模型或bean上进行一些更改。
当您使用其数据类型返回值时,只需提及包路径。
public native final Boolean apply() /*-{
return this.apply ? @java.lang.Double::Boolean(D)(this.apply) : null;
}-*/;