我有一个使用spring 3.2.1,gwt 2.4和hibernate的应用程序。
这在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而失败。
任何想法我的错误是什么?
由于 斯文
答案 0 :(得分:1)
问题是org.allcolor.xml.parser
将自己设置为javax.xml
的XML解析器。如果客户端代码不需要org.allcolor
,则将其从DevMode的类路径中删除。
仅供参考,我们在Xerces中遇到了类似的问题:HtmlUnit(默认情况下用于运行GWTTestCase
测试)需要Xerces,但Xerces随后注册为JVM的XML解析器并以相同方式中断模块解析。因此,我们必须从Xerces JAR中删除META-INF
。