Sunday, September 25, 2011

XML parsing error when using Guice with servlets

Hello,

I'm setting up a web application I call WineCellar using GWT with Guice. I have
set up the Guice to use servlets as instructed here:
http://code.google.com/p/google-guice/wiki/Servlets. I am using Eclipse 3.5 with
the GWT plugin.

However, when I try to run the application in debug mode, I get the error
message below.

Loading modules
winecellar.WineCellar
Loading inherited module 'com.google.gwt.user.User'
Loading inherited module 'com.google.gwt.i18n.I18N'
[ERROR] Unexpected error while processing XML
java.lang.NoClassDefFoundError:
com/google/gwt/core/ext/linker/PropertyProviderGenerator
at java.lang.ClassLoader.findBootstrapClass(Native Method)
at java.lang.ClassLoader.findBootstrapClass0(ClassLoader.java:900)
at java.lang.ClassLoader.loadClass(ClassLoader.java:316)
at java.lang.ClassLoader.loadClass(ClassLoader.java:314)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
at
com.google.gwt.dev.cfg.ModuleDefSchema$ClassAttrCvt.convertToArg(
ModuleDefSchema.java:886)

at com.google.gwt.dev.util.xml.HandlerArgs.convertToArg(HandlerArgs.java:64)
at com.google.gwt.dev.util.xml.HandlerMethod.invokeBegin(HandlerMethod.java:221)
at
com.google.gwt.dev.util.xml.ReflectiveParser$Impl.startElement(
ReflectiveParser.java:294)
at
com.sun.org.apache.xerces.internal.parsers.
AbstractSAXParser.startElement(AbstractSAXParser.java:504)
at
com.sun.org.apache.xerces.internal.parsers.
AbstractXMLDocumentParser.emptyElement(AbstractXMLDocumentParser.java:182)
at
com.sun.org.apache.xerces.internal.impl.
XMLDocumentFragmentScannerImpl.scanStartElement(
XMLDocumentFragmentScannerImpl.java:1320)
at
com.sun.org.apache.xerces.internal.impl.
XMLDocumentFragmentScannerImpl$FragmentContentDriver.
next(XMLDocumentFragmentScannerImpl.java:2732)
at
com.sun.org.apache.xerces.internal.impl.
XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:625)

at
com.sun.org.apache.xerces.internal.impl.
XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.
java:488)

at
com.sun.org.apache.xerces.internal.parsers.
XML11Configuration.parse(XML11Configuration.java:812)
at
com.sun.org.apache.xerces.internal.parsers.
XML11Configuration.parse(XML11Configuration.java:741)
at com.sun.org.apache.xerces.internal.parsers.
XMLParser.parse(XMLParser.java:123)
at
com.sun.org.apache.xerces.internal.parsers.
AbstractSAXParser.parse(AbstractSAXParser.java:1208)
at
com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.
parse(SAXParserImpl.java:525)
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.ModuleDefSchema$BodySchema.__inherits_begin
(ModuleDefSchema.java:495)
at sun.reflect.GeneratedMethodAccessor5.invoke(Unknown Source)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke
(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:616)
at com.google.gwt.dev.util.xml.HandlerMethod.invokeBegin(HandlerMethod.java:230)
at
com.google.gwt.dev.util.xml.ReflectiveParser$Impl.startElement(
ReflectiveParser.java:294)
at
com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.startElement(
AbstractSAXParser.java:504)
at
com.sun.org.apache.xerces.internal.parsers.AbstractXMLDocumentParser.
emptyElement(AbstractXMLDocumentParser.java:182)
at
com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.
scanStartElement(XMLDocumentFragmentScannerImpl.java:1320)
at
com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$
FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2732)
at
com.sun.org.apache.xerces.internal.impl.
XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:625)
at
com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.
scanDocument(XMLDocumentFragmentScannerImpl.java:488)
at
com.sun.org.apache.xerces.internal.parsers.XML11Configuration.
parse(XML11Configuration.java:812)
at
com.sun.org.apache.xerces.internal.parsers.XML11Configuration.
parse(XML11Configuration.java:741)
at com.sun.org.apache.xerces.internal.parsers.XMLParser.
parse(XMLParser.java:123)
at
com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.
parse(AbstractSAXParser.java:1208)
at
com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.
parse(SAXParserImpl.java:525)
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.ModuleDefSchema$BodySchema.__inherits_begin(
ModuleDefSchema.java:495)
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:616)
at com.google.gwt.dev.util.xml.HandlerMethod.invokeBegin(HandlerMethod.java:230)
at
com.google.gwt.dev.util.xml.ReflectiveParser$Impl.startElement(
ReflectiveParser.java:294)
at
com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.startElement(
AbstractSAXParser.java:504)
at
com.sun.org.apache.xerces.internal.parsers.AbstractXMLDocumentParser.
emptyElement(AbstractXMLDocumentParser.java:182)
at
com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.
scanStartElement(XMLDocumentFragmentScannerImpl.java:1320)
at
com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$
FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2732)
at
com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.
next(XMLDocumentScannerImpl.java:625)
at
com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.
scanDocument(XMLDocumentFragmentScannerImpl.java:488)
at
com.sun.org.apache.xerces.internal.parsers.
XML11Configuration.parse(XML11Configuration.java:812)
at
com.sun.org.apache.xerces.internal.parsers.
XML11Configuration.parse(XML11Configuration.java:741)
at com.sun.org.apache.xerces.internal.parsers.
XMLParser.parse(XMLParser.java:123)
at
com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.
parse(AbstractSAXParser.java:1208)
at
com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.
parse(SAXParserImpl.java:525)
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)

It seems to be a problem with parsing the GWT file I18N.gwt.xml in
com.google.gwt.i18n, but I could be on the wrong track. Does anyone know what
the reason for this is? I've been googling for quite some time, but can't seem
to find anyone with the same problem.

Below are included my web.xml, and my GuiceServletConfig file. If there is
anything else I should provide, I'll be happy to.

web.xml:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
version="2.5"
xmlns="http://java.sun.com/xml/ns/javaee">

<filter>
<filter-name>guiceFilter</filter-name>
<filter-class>com.google.inject.servlet.GuiceFilter</filter-class>
</filter>

<filter-mapping>
<filter-name>guiceFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>

<listener>
<listener-class>winecellar.server.WineCellarGuiceServletConfig
</listener-class>
</listener>

<!-- Default page to serve -->
<welcome-file-list>
<welcome-file>WineCellar.html</welcome-file>
</welcome-file-list>

</web-app>

GuiceServletConfig:

package winecellar.server;

import com.google.inject.Guice;
import com.google.inject.Injector;
import com.google.inject.servlet.*;

public class WineCellarGuiceServletConfig extends GuiceServletContextListener{

@Override
protected Injector getInjector() {
ServletModule module = new ServletModule() {
@Override
protected void configureServlets() {
// route bindings
serve("*.html").with(WineCellarImpl.class);
}
};

return Guice.createInjector(module);
}
}


--
You received this message because you are subscribed to the Google Groups "Google Web Toolkit" group.
To post to this group, send email to google-web-toolkit@googlegroups.com.
To unsubscribe from this group, send email to google-web-toolkit+unsubscribe@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/google-web-toolkit?hl=en.

No comments:

Post a Comment