3

gwt dev モードのデバッグで奇妙な問題が発生しました。

以下は、私が書いているJSNIラッパーですhttps://github.com/sillysachin/GWTAMChart

多くの JSNI、JavaScriptObject、および JSON コードを含む、かなり小さくて単純なプロジェクトです。人気のある amcharts チャート作成ライブラリをラップします。SuperDevMode および Production でデバッグするとうまく機能します。

ただし、開発モード デバッグを使用して Internet Explorer でプロジェクトをデバッグすることはできません。

java.lang.ClassFormatError: クラス ファイル com/google/gwt/core/client/JavaScriptObject$ でメソッド名と署名が重複しています

スローされた主な例外は、コードのどの部分が壊れているかを理解するのに役立ちません!!!!!

java.lang.ClassFormatError: Duplicate method name&signature in class file com/google/gwt/core/client/JavaScriptObject$
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:800)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:643)
    at com.google.gwt.dev.shell.CompilingClassLoader.findClass(CompilingClassLoader.java:1142)
    at com.google.gwt.dev.shell.CompilingClassLoader.loadClass(CompilingClassLoader.java:1215)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:270)
    at com.google.gwt.dev.shell.JsValueGlue.set(JsValueGlue.java:220)
    at com.google.gwt.dev.shell.ModuleSpaceOOPHM.doInvoke(ModuleSpaceOOPHM.java:130)
    at com.google.gwt.dev.shell.ModuleSpace.invokeNative(ModuleSpace.java:589)
    at com.google.gwt.dev.shell.ModuleSpace.invokeNativeVoid(ModuleSpace.java:315)
    at com.google.gwt.dev.shell.ModuleSpace.onLoad(ModuleSpace.java:359)
    at com.google.gwt.dev.shell.OophmSessionHandler.loadModule(OophmSessionHandler.java:200)
    at com.google.gwt.dev.shell.BrowserChannelServer.processConnection(BrowserChannelServer.java:530)
    at com.google.gwt.dev.shell.BrowserChannelServer.run(BrowserChannelServer.java:368)
    at java.lang.Thread.run(Thread.java:745)
4

2 に答える 2

0

これは、JSNI を使用している場合に開発モードで発生します。スーパー デベロッパー モードは純粋な Java スクリプトを使用してブラウザーで直接デバッグするため、厳密な型キャストはなく、エラーは発生しません。開発モードではJavaコードが実行され、厳密な型キャストにより、クラス形式の例外が発生します。役に立ちません。ハイチャートでも同じ問題があります。本番環境およびスーパー開発モードで問題なく動作する場合は、心配する必要はありません。それが役に立てば幸い。

于 2014-12-04T09:19:16.793 に答える