为GWT添加元素 [英] Adding Elemental to GWT

查看:96
本文介绍了为GWT添加元素的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个GWT maven多模块项目。它可以很好地运行 mvn gwt:run - 但是当我添加< inherits name ='elemental.Elemental'/>

关键点似乎是JSNI打破遍历的问题?

 由java.util.ArrayList.rangeCheck引发:java.lang.IndexOutOfBoundsException:索引:13,大小:13 
(ArrayList.java: 604)
在java.util.ArrayList.get(ArrayList.java:382)
在com.google.gwt.dev.shell.CompilingClassLoader $ DispatchClassInfoOracle.getClassInfoByDispId(CompilingClassLoader.java:120)
at com.google.gwt.dev.shell.CompilingClassLoader.getClassInfoByDispId(CompilingClassLoader.java:1014)
at com.google.gwt.dev.shell.Jsni $ JsSourceGenWithJsniIdentFixup.visit(Jsni.java:177)

我试着调试过它,但我似乎无法追查任何东西。任何想法?


00:00:19.630 [错误]无法加载模块入口点类
com.rc.gloopsh。 admin.AdminEntryPoint(请参阅
详细信息的关联异常)com.google.gwt.dev.jjs.InternalCompilerException:访问期间出现意外的
错误。在
com.google.gwt.dev.js.ast.JsVisitor.translateException(JsVisitor.java:483)
在com.google.gwt.dev.js.ast.JsVisitor.doTraverse(JsVisitor。 java:470)
,位于com.google.gwt.dev.js.ast.JsVisitor.doAccept(JsVisitor.java:445)
位于com.google.gwt.dev.js.ast.JsVisitor。在
处接受(JsVisitor.java:109)com.google.gwt.dev.js.JsToStringGenerationVisitor.visit(JsToStringGenerationVisitor.java:893)
,位于com.google.gwt.dev.js.ast处。 JsReturn.traverse(JsReturn.java:49)在
com.google.gwt.dev.js.ast.JsVisitor.doTraverse(JsVisitor.java:468)at
com.google.gwt.dev。
com.google.gwt.dev.js.ast.JsVisitor.accept中的js.ast.JsVisitor.doAccept(JsVisitor.java:445),
com.google。
at
com.google.gwt.dev.js.JsSourceGenerationVisitor.visit(JsSourceGenerationVisitor.java:59)
at com.google.gwt.dev.js.ast.JsBlock.tra verse(JsBlock.java:47)at
com.google.gwt.dev.js.ast.JsVisitor.doTraverse(JsVisitor.java:468)at
com.google.gwt.dev.js。 ast.JsVisitor.doAccept(JsVisitor.java:445)at
com.google.gwt.dev.js.ast.JsVisitor.accept(JsVisitor.java:109)at
com.google.gwt。 dev.shell.Jsni.generateJavaScriptForHostedMode(Jsni.java:253)
。在
com.google.gwt.dev.shell.Jsni.getJavaScriptForHostedMode(Jsni.java:241)
。在
com.google.gwt.dev.shell.ModuleSpaceOOPHM.createNativeMethods(ModuleSpaceOOPHM.java:52)
at
com.google.gwt.dev.shell.CompilingClassLoader.injectJsniMethods(CompilingClassLoader.java:1380 )
at
com.google.gwt.dev.shell.CompilingClassLoader.findClass(CompilingClassLoader.java:1151)
at
com.google.gwt.dev.shell.CompilingClassLoader .loadClass(CompilingClassLoader.java:1196)
at java.lang.ClassLoader.loadClass(ClassLoader.java:356)at
com.google.gwt.user.client.DOM.appendChild(DOM.java :66)at
com.google.gwt.user.client.ui.Hyperlink。(Hyperlink.java:191)at
com.google.gwt.user.client.ui.Hyperlink。(Hyperlink .java:90)at
com.google.gwt.user.client.ui.Hyperlink。(Hyperlink.java:181)at
com.google.gwt.user.client.ui.Hyperlink。 (Hyperlink.java:140)at
com.rc.gloopsh.resources.GloopshNav.addNav(GloopshNav.java:34)at
com.rc.gloopsh.admin.AdminEntryPoint.onModuleLoad(AdminEntryPoint.java :29)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at
sun.reflect .DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
位于
处的java.lang.reflect.Method.invoke(Method.java:601)com.google.gwt.dev.shell.ModuleSpace.onLoad (ModuleSpace.java:406)at
com.google.gwt.dev.shell.OophmSessionHandler.loadModule(OophmSessionHandler.java:200)
at
com.google .gwt.dev.shell.BrowserChannelServer.processConnection(BrowserChannelServer.java:526)
at
com.google.gwt.dev.shell.BrowserChannelServer.run(BrowserChannelServer.java:364)
在java.lang.Thread.run(Thread.java:722)引起:
java.lang.IndexOutOfBoundsException:索引:13,大小:13 at
java.util.ArrayList.rangeCheck(ArrayList。
java.util.ArrayList.get(ArrayList.java:382)at
com.google.gwt.dev.shell.CompilingClassLoader $ DispatchClassInfoOracle.getClassInfoByDispId(CompilingClassLoader.java:120)
at
com.google.gwt.dev.shell.CompilingClassLoader.getClassInfoByDispId(CompilingClassLoader.java:1014)
at
com.google.gwt.dev.shell.Jsni $ JsSourceGenWithJsniIdentFixup.visit(Jsni.java:177)
处com.google
com.google.gwt.dev.js.ast.JsInvocation.traverse(JsInvocation.java:69)
。 gwt.dev.js.ast.JsVisitor.doTraverse(JsVisitor.java:468)
,位于com.google.gwt.dev.js.ast.JsVisitor.doA ccept(JsVisitor.java:445)
在com.google.gwt.dev.js.ast.JsVisitor.accept(JsVisitor.java:109)at
com.google.gwt.dev.js。 JsToStringGenerationVisitor.visit(JsToStringGenerationVisitor.java:893)
在com.google.gwt.dev.js.ast.JsReturn.traverse(JsReturn.java:49)在
com.google.gwt.dev。
上的js.ast.JsVisitor.doTraverse(JsVisitor.java:468)com.google.gwt.dev.js.ast.JsVisitor.doAccept(JsVisitor.java:445)在
com.google。 gwt.dev.js.ast.JsVisitor.accept(JsVisitor.java:109)at
com.google.gwt.dev.js.JsToStringGenerationVisitor.printJsBlock(JsToStringGenerationVisitor.java:1032)
at $ b $ com.google.gwt.dev.js.JsSourceGenerationVisitor.visit(JsSourceGenerationVisitor.java:59)
at com.google.gwt.dev.js.ast.JsBlock.traverse(JsBlock.java:47)at
com.google.gwt.dev.js.ast.JsVisitor.doTraverse(JsVisitor.java:468)at
com.google.gwt.dev.js.ast.JsVisitor.doAccept(JsVisitor.java :445)在
com.google.gwt.dev.js.ast .JsVisitor.accept(JsVisitor.java:109)在
com.google.gwt.dev.shell.Jsni.generateJavaScriptForHostedMode(Jsni.java:253)
。在
com.google.gwt .dev.shell.Jsni.getJavaScriptForHostedMode(Jsni.java:241)
at
com.google.gwt.dev.shell.ModuleSpaceOOPHM.createNativeMethods(ModuleSpaceOOPHM.java:52)
at
com.google.gwt.dev.shell.CompilingClassLoader.injectJsniMethods(CompilingClassLoader.java:1380)
at
com.google.gwt.dev.shell.CompilingClassLoader.findClass(CompilingClassLoader.java:在
com.google.gwt.dev.shell.CompilingClassLoader.loadClass 1151)
(CompilingClassLoader.java:1196在java.lang.ClassLoader.loadClass)
(ClassLoader.java:356) at
com.google.gwt.user.client.DOM.appendChild(DOM.java:66)at
com.google.gwt.user.client.ui.Hyperlink。(Hyperlink.java:191 )at
com.google.gwt.user.client.ui.Hyperlink。(Hyperlink.java:90)at
com.google.gwt.user.client.ui.Hyperlink。(Hyperlink .java:181)at
com.google.gwt.user.client.ui.Hyperlink。(Hyperlink.java:140)at
com.rc.gloopsh.resources.GloopshNav.addNav(GloopshNav。 Java的:34)在sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)
com.rc.gloopsh.admin.AdminEntryPoint.onModuleLoad(AdminEntryPoint.java:29)
。在
的太阳。 reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke( Method.java:601)at
com.google.gwt.dev.shell.ModuleSpace.onLoad(ModuleSpace.java:406)at
com.google.gwt.dev.shell.OophmSessionHandler.loadModule( OophmSessionHandler.java:200)
at
com.google.gwt.dev.shell.BrowserChannelServer.processConnection(BrowserChannelServer.java:526)
at
com.google.gwt。 dev.shell.BrowserChannelServer.run(BrowserChannelServer.java:364)
在java.lang.Thread.r un(Thread.java:722)



解决方案

这是已知问题;现在,如果您使用元素,则必须使用 SuperDevMode


I have a GWT maven multi module project. It runs fine with mvn gwt:run - but when I add in <inherits name='elemental.Elemental'/> to the gwt.xml file, I get the error below.

Key point appears to be something in JSNI breaking on traversal?

    Caused by: java.lang.IndexOutOfBoundsException: Index: 13, Size: 13 
    at java.util.ArrayList.rangeCheck(ArrayList.java:604) 
    at java.util.ArrayList.get(ArrayList.java:382) 
    at com.google.gwt.dev.shell.CompilingClassLoader$DispatchClassInfoOracle.getClassInfoByDispId(CompilingClassLoader.java:120) 
    at com.google.gwt.dev.shell.CompilingClassLoader.getClassInfoByDispId(CompilingClassLoader.java:1014) 
    at com.google.gwt.dev.shell.Jsni$JsSourceGenWithJsniIdentFixup.visit(Jsni.java:177)  

I tried debugging it but I can't seem to track down anything. Any ideas?

00:00:19.630 [ERROR] Unable to load module entry point class com.rc.gloopsh.admin.AdminEntryPoint (see associated exception for details) com.google.gwt.dev.jjs.InternalCompilerException: Unexpected error during visit. at com.google.gwt.dev.js.ast.JsVisitor.translateException(JsVisitor.java:483) at com.google.gwt.dev.js.ast.JsVisitor.doTraverse(JsVisitor.java:470) at com.google.gwt.dev.js.ast.JsVisitor.doAccept(JsVisitor.java:445) at com.google.gwt.dev.js.ast.JsVisitor.accept(JsVisitor.java:109) at com.google.gwt.dev.js.JsToStringGenerationVisitor.visit(JsToStringGenerationVisitor.java:893) at com.google.gwt.dev.js.ast.JsReturn.traverse(JsReturn.java:49) at com.google.gwt.dev.js.ast.JsVisitor.doTraverse(JsVisitor.java:468) at com.google.gwt.dev.js.ast.JsVisitor.doAccept(JsVisitor.java:445) at com.google.gwt.dev.js.ast.JsVisitor.accept(JsVisitor.java:109) at com.google.gwt.dev.js.JsToStringGenerationVisitor.printJsBlock(JsToStringGenerationVisitor.java:1032) at com.google.gwt.dev.js.JsSourceGenerationVisitor.visit(JsSourceGenerationVisitor.java:59) at com.google.gwt.dev.js.ast.JsBlock.traverse(JsBlock.java:47) at com.google.gwt.dev.js.ast.JsVisitor.doTraverse(JsVisitor.java:468) at com.google.gwt.dev.js.ast.JsVisitor.doAccept(JsVisitor.java:445) at com.google.gwt.dev.js.ast.JsVisitor.accept(JsVisitor.java:109) at com.google.gwt.dev.shell.Jsni.generateJavaScriptForHostedMode(Jsni.java:253) at com.google.gwt.dev.shell.Jsni.getJavaScriptForHostedMode(Jsni.java:241) at com.google.gwt.dev.shell.ModuleSpaceOOPHM.createNativeMethods(ModuleSpaceOOPHM.java:52) at com.google.gwt.dev.shell.CompilingClassLoader.injectJsniMethods(CompilingClassLoader.java:1380) at com.google.gwt.dev.shell.CompilingClassLoader.findClass(CompilingClassLoader.java:1151) at com.google.gwt.dev.shell.CompilingClassLoader.loadClass(CompilingClassLoader.java:1196) at java.lang.ClassLoader.loadClass(ClassLoader.java:356) at com.google.gwt.user.client.DOM.appendChild(DOM.java:66) at com.google.gwt.user.client.ui.Hyperlink.(Hyperlink.java:191) at com.google.gwt.user.client.ui.Hyperlink.(Hyperlink.java:90) at com.google.gwt.user.client.ui.Hyperlink.(Hyperlink.java:181) at com.google.gwt.user.client.ui.Hyperlink.(Hyperlink.java:140) at com.rc.gloopsh.resources.GloopshNav.addNav(GloopshNav.java:34) at com.rc.gloopsh.admin.AdminEntryPoint.onModuleLoad(AdminEntryPoint.java:29) 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:601) at com.google.gwt.dev.shell.ModuleSpace.onLoad(ModuleSpace.java:406) at com.google.gwt.dev.shell.OophmSessionHandler.loadModule(OophmSessionHandler.java:200) at com.google.gwt.dev.shell.BrowserChannelServer.processConnection(BrowserChannelServer.java:526) at com.google.gwt.dev.shell.BrowserChannelServer.run(BrowserChannelServer.java:364) at java.lang.Thread.run(Thread.java:722) Caused by: java.lang.IndexOutOfBoundsException: Index: 13, Size: 13 at java.util.ArrayList.rangeCheck(ArrayList.java:604) at java.util.ArrayList.get(ArrayList.java:382) at com.google.gwt.dev.shell.CompilingClassLoader$DispatchClassInfoOracle.getClassInfoByDispId(CompilingClassLoader.java:120) at com.google.gwt.dev.shell.CompilingClassLoader.getClassInfoByDispId(CompilingClassLoader.java:1014) at com.google.gwt.dev.shell.Jsni$JsSourceGenWithJsniIdentFixup.visit(Jsni.java:177) at com.google.gwt.dev.js.ast.JsInvocation.traverse(JsInvocation.java:69) at com.google.gwt.dev.js.ast.JsVisitor.doTraverse(JsVisitor.java:468) at com.google.gwt.dev.js.ast.JsVisitor.doAccept(JsVisitor.java:445) at com.google.gwt.dev.js.ast.JsVisitor.accept(JsVisitor.java:109) at com.google.gwt.dev.js.JsToStringGenerationVisitor.visit(JsToStringGenerationVisitor.java:893) at com.google.gwt.dev.js.ast.JsReturn.traverse(JsReturn.java:49) at com.google.gwt.dev.js.ast.JsVisitor.doTraverse(JsVisitor.java:468) at com.google.gwt.dev.js.ast.JsVisitor.doAccept(JsVisitor.java:445) at com.google.gwt.dev.js.ast.JsVisitor.accept(JsVisitor.java:109) at com.google.gwt.dev.js.JsToStringGenerationVisitor.printJsBlock(JsToStringGenerationVisitor.java:1032) at com.google.gwt.dev.js.JsSourceGenerationVisitor.visit(JsSourceGenerationVisitor.java:59) at com.google.gwt.dev.js.ast.JsBlock.traverse(JsBlock.java:47) at com.google.gwt.dev.js.ast.JsVisitor.doTraverse(JsVisitor.java:468) at com.google.gwt.dev.js.ast.JsVisitor.doAccept(JsVisitor.java:445) at com.google.gwt.dev.js.ast.JsVisitor.accept(JsVisitor.java:109) at com.google.gwt.dev.shell.Jsni.generateJavaScriptForHostedMode(Jsni.java:253) at com.google.gwt.dev.shell.Jsni.getJavaScriptForHostedMode(Jsni.java:241) at com.google.gwt.dev.shell.ModuleSpaceOOPHM.createNativeMethods(ModuleSpaceOOPHM.java:52) at com.google.gwt.dev.shell.CompilingClassLoader.injectJsniMethods(CompilingClassLoader.java:1380) at com.google.gwt.dev.shell.CompilingClassLoader.findClass(CompilingClassLoader.java:1151) at com.google.gwt.dev.shell.CompilingClassLoader.loadClass(CompilingClassLoader.java:1196) at java.lang.ClassLoader.loadClass(ClassLoader.java:356) at com.google.gwt.user.client.DOM.appendChild(DOM.java:66) at com.google.gwt.user.client.ui.Hyperlink.(Hyperlink.java:191) at com.google.gwt.user.client.ui.Hyperlink.(Hyperlink.java:90) at com.google.gwt.user.client.ui.Hyperlink.(Hyperlink.java:181) at com.google.gwt.user.client.ui.Hyperlink.(Hyperlink.java:140) at com.rc.gloopsh.resources.GloopshNav.addNav(GloopshNav.java:34) at com.rc.gloopsh.admin.AdminEntryPoint.onModuleLoad(AdminEntryPoint.java:29) 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:601) at com.google.gwt.dev.shell.ModuleSpace.onLoad(ModuleSpace.java:406) at com.google.gwt.dev.shell.OophmSessionHandler.loadModule(OophmSessionHandler.java:200) at com.google.gwt.dev.shell.BrowserChannelServer.processConnection(BrowserChannelServer.java:526) at com.google.gwt.dev.shell.BrowserChannelServer.run(BrowserChannelServer.java:364) at java.lang.Thread.run(Thread.java:722)

解决方案

This is a known issue; for now you'll have to use SuperDevMode if you use Elemental.

这篇关于为GWT添加元素的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆