1

spring 3.2.1、gwt 2.4、および休止状態を使用するアプリケーションがあります。

これは tomcat に正常にデプロイされ、エラーなしで実行されます。

開発用に GWT 開発モード サーバーを起動しようとすると、サーバーが次のエラーで失敗します。

  Loading modules
     com.my.app.App
        [ERROR] Unexpected error while processing XML
  java.lang.NullPointerException
    at com.google.gwt.dev.util.xml.ReflectiveParser$Impl.startElement(ReflectiveParser.java:187)
    at org.allcolor.xml.parser.CShaniSaxParser.parseStartTag(CShaniSaxParser.java:1393)
    at org.allcolor.xml.parser.CXmlParser.parseSTARTTag(CXmlParser.java:1405)
    at org.allcolor.xml.parser.CXmlParser.parse(CXmlParser.java:948)
    at org.allcolor.xml.parser.CShaniSaxParser.parse(CShaniSaxParser.java:767)
    at com.google.gwt.dev.util.xml.ReflectiveParser$Impl.parse(ReflectiveParser.java:347)
    at com.google.gwt.dev.util.xml.ReflectiveParser$Impl.access$200(ReflectiveParser.java:68)
    at com.google.gwt.dev.util.xml.ReflectiveParser.parse(ReflectiveParser.java:418)
    at com.google.gwt.dev.cfg.ModuleDefLoader.nestedLoad(ModuleDefLoader.java:296)
    at com.google.gwt.dev.cfg.ModuleDefLoader$1.load(ModuleDefLoader.java:198)
    at com.google.gwt.dev.cfg.ModuleDefLoader.doLoadModule(ModuleDefLoader.java:324)
    at com.google.gwt.dev.cfg.ModuleDefLoader.loadFromClassPath(ModuleDefLoader.java:156)
    at com.google.gwt.dev.DevModeBase.loadModule(DevModeBase.java:992)
    at com.google.gwt.dev.DevMode.loadModule(DevMode.java:557)
    at com.google.gwt.dev.DevMode.doStartup(DevMode.java:443)
    at com.google.gwt.dev.DevModeBase.startUp(DevModeBase.java:1058)
    at com.google.gwt.dev.DevModeBase.run(DevModeBase.java:811)
    at com.google.gwt.dev.DevMode.main(DevMode.java:311)
  [ERROR] shell failed in doStartup method

私が見る限り、xml ファイルは見つかりましたが、com.google.gwt.dev.util.xml.ReflectiveParser.java のドキュメント ロケータが設定されておらず、使用すると NullPointerException で失敗します。

私の間違いは何ですか?

ありがとうスヴェン

4

1 に答える 1

1

問題は、org.allcolor.xml.parserが の XML パーサーとして自身を設定することですjavax.xml。クライアント側のコードが必要ない場合org.allcolorは、DevMode のクラスパスから削除してください。

参考までに、Xerces にも同様の問題があります。HtmlUnit (GWTTestCaseデフォルトでテストを実行するために使用) は Xerces を必要としますが、Xerces は XML パーサーとして JVM に登録し、モジュールの解析を同様に中断します。META-INFしたがって、Xerces JAR からを削除する必要があります。

于 2013-09-05T09:21:07.047 に答える