0

待望の超開発モードがやってきたので使ってみました。GWT トランクを構築した後、テスト アプリを作成し、正常にコンパイルしました。次に、Chrome のソース マップを有効にする目的で、これをモジュール XML ファイルに追加しました。

<!-- Allows debugging without DevMode  -->
<set-property name="compiler.useSourceMaps" value="true">
   <when-property-is name="user.agent" value="safari" />
</set-property>

次に、アプリケーションをコンパイルしようとしました。出力は次のとおりです。

Compiling module com.hsi.gwt.test.sdm.Hello_sdm
   Compiling 6 permutations
      Compiling permutation 0...
      Compiling permutation 1...
      Compiling permutation 2...
      Compiling permutation 3...
      Compiling permutation 4...
      Compiling permutation 5...
      Source Maps Enabled
   Compile of permutations succeeded
Linking into /Users/bbrudnoy/Workspaces/indigo-hsi/hello-sdm/war/hello_sdm
   Invoking Linker Export CompilationResult symbol maps
      [ERROR] Failed to link
java.lang.NoClassDefFoundError: org/json/JSONException
    at com.google.gwt.thirdparty.debugging.sourcemap.SourceMapGeneratorV3.mergeMapSection(SourceMapGeneratorV3.java:243)
    at com.google.gwt.core.linker.SymbolMapsLinker.link(SymbolMapsLinker.java:299)
    at com.google.gwt.core.ext.linker.impl.StandardLinkerContext.invokeLinkForOnePermutation(StandardLinkerContext.java:372)
    at com.google.gwt.dev.Link.finishPermutation(Link.java:491)
    at com.google.gwt.dev.Link.doSimulatedShardingLink(Link.java:453)
    at com.google.gwt.dev.Link.link(Link.java:200)
    at com.google.gwt.dev.Compiler.run(Compiler.java:262)
    at com.google.gwt.dev.Compiler.run(Compiler.java:198)
    at com.google.gwt.dev.Compiler$1.run(Compiler.java:170)
    at com.google.gwt.dev.CompileTaskRunner.doRun(CompileTaskRunner.java:88)
    at com.google.gwt.dev.CompileTaskRunner.runWithAppropriateLogger(CompileTaskRunner.java:82)
    at com.google.gwt.dev.Compiler.main(Compiler.java:177)
Caused by: java.lang.ClassNotFoundException: org.json.JSONException
    at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
    ... 12 more

私は何が欠けていますか?

4

2 に答える 2

2

Maven を使用する場合は、pom.xml ファイルに以下を追加します。その問題を克服するのに役立つはずです。

<dependency>
    <groupId>org.json</groupId>
    <artifactId>json</artifactId>
    <version>20090211</version>
</dependency>
于 2013-06-07T17:32:55.207 に答える
0

編集:これはGWT2.5で修正されています

これは既知の問題です:http ://code.google.com/p/google-web-toolkit/issues/detail?id = 7397

簡単な回避策として、gwt-servlet-deps.jarをクラスパスに追加できます。

ところで、Super Dev Modeはソースマップを自動的に生成します。モジュールでそれらを有効にする必要はありません(ただし、今のところ、Super Dev Modeを有効にしてxsiframeリンカーを使用する必要があります)

于 2012-06-07T00:48:41.100 に答える