You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@shindig.apache.org by massimeddu <ma...@gmail.com> on 2010/04/06 16:44:13 UTC

Error with xstream converters

Hi Shindig devs,

I'm implementing a social site using Shindig 1.1-BETA5. When I try to
open http://localhost:8080/social/rest I get this error:

2010-04-06 16:18:25,675 ERROR [DirectJDKLog.java:167] :
StandardWrapper.Throwable
com.google.inject.ProvisionException: Guice provision errors:
1) Error injecting constructor, java.lang.NoClassDefFoundError: Could
not initialize class
com.thoughtworks.xstream.converters.extended.ISO8601DateConverter
  at org.apache.shindig.protocol.conversion.BeanXStreamConverter.<init>(BeanXStreamConverter.java:58)
  while locating org.apache.shindig.protocol.conversion.BeanXStreamConverter
  while locating org.apache.shindig.protocol.conversion.BeanConverter
annotated with @com.google.inject.name.Named(value=shindig.bean.converter.xml)
    for parameter 1 at
org.apache.shindig.protocol.ApiServlet.setBeanConverters(ApiServlet.java:108)
  while locating org.apache.shindig.protocol.DataServiceServlet
Caused by: java.lang.NoClassDefFoundError: Could not initialize class
com.thoughtworks.xstream.converters.extended.ISO8601DateConverter
 at org.apache.shindig.social.core.util.xstream.XStream081Configuration.getConverterConfig(XStream081Configuration.java:322)
 at org.apache.shindig.protocol.conversion.BeanXStreamConverter.<init>(BeanXStreamConverter.java:79)
 at org.apache.shindig.protocol.conversion.BeanXStreamConverter$$FastClassByGuice$$937c7f96.newInstance(<generated>)
 at com.google.inject.internal.cglib.reflect.FastConstructor.newInstance(FastConstructor.java:40)

[....]

2) Error injecting constructor, java.lang.NoClassDefFoundError: Could
not initialize class
com.thoughtworks.xstream.converters.extended.ISO8601DateConverter
  at org.apache.shindig.social.core.util.BeanXStreamAtomConverter.<init>(BeanXStreamAtomConverter.java:38)
  while locating org.apache.shindig.social.core.util.BeanXStreamAtomConverter
  while locating org.apache.shindig.protocol.conversion.BeanConverter
annotated with @com.google.inject.name.Named(value=shindig.bean.converter.atom)
    for parameter 2 at
org.apache.shindig.protocol.ApiServlet.setBeanConverters(ApiServlet.java:108)
  while locating org.apache.shindig.protocol.DataServiceServlet
Caused by: java.lang.NoClassDefFoundError: Could not initialize class
com.thoughtworks.xstream.converters.extended.ISO8601DateConverter
 at org.apache.shindig.social.core.util.xstream.XStream081Configuration.getConverterConfig(XStream081Configuration.java:322)
 at org.apache.shindig.protocol.conversion.BeanXStreamConverter.<init>(BeanXStreamConverter.java:79)
 at org.apache.shindig.social.core.util.BeanXStreamAtomConverter.<init>(BeanXStreamAtomConverter.java:38)

[....]

2 errors
 at com.google.inject.internal.Errors.throwProvisionExceptionIfErrorsExist(Errors.java:370)
 at com.google.inject.MembersInjectorImpl.injectMembers(MembersInjectorImpl.java:66)
 at com.google.inject.InjectorImpl.injectMembers(InjectorImpl.java:726)
 at org.apache.shindig.common.servlet.InjectedServlet.init(InjectedServlet.java:46)
 at org.apache.shindig.protocol.ApiServlet.init(ApiServlet.java:76)
 at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1065)
 at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:783)

[....]

The web.xml file contains also this configuration:

<context-param>
  <param-name>guice-modules</param-name>
  <param-value>
   org.apache.shindig.common.PropertiesModule:
   org.apache.shindig.gadgets.DefaultGuiceModule:
   org.apache.shindig.social.sample.SampleModule:
   org.apache.shindig.gadgets.oauth.OAuthModule:
   org.apache.shindig.common.cache.ehcache.EhCacheModule
  </param-value>
</context-param>

[...]

<!-- Serve social REST api -->
<servlet>
  <servlet-name>socialRestapiServlet</servlet-name>
    <servlet-class>
      org.apache.shindig.protocol.DataServiceServlet
    </servlet-class>
    <init-param>
      <param-name>handlers</param-name>
       <param-value>org.apache.shindig.social.handlers</param-value>
    </init-param>
</servlet>
<servlet-mapping>
  <servlet-name>socialRestapiServlet</servlet-name>
  <url-pattern>/social/rest/*</url-pattern>
</servlet-mapping>

[...]

I have on my maven libraries the xstream artifact (and also
joda-time), and my web.xml file seams correct, so anybody can help me,
please?

Thank you,
Massimeddu.

Re: Error with xstream converters

Posted by Paul Lindner <li...@inuus.com>.
Make sure you have xstream-1.3.1.jar somewhere in your classpath..  Also
insure you don't have an old xstream in your classpath.


On Tue, Apr 6, 2010 at 7:44 AM, massimeddu <ma...@gmail.com> wrote:

> Hi Shindig devs,
>
> I'm implementing a social site using Shindig 1.1-BETA5. When I try to
> open http://localhost:8080/social/rest I get this error:
>
> 2010-04-06 16:18:25,675 ERROR [DirectJDKLog.java:167] :
> StandardWrapper.Throwable
> com.google.inject.ProvisionException: Guice provision errors:
> 1) Error injecting constructor, java.lang.NoClassDefFoundError: Could
> not initialize class
> a
>   at
> org.apache.shindig.protocol.conversion.BeanXStreamConverter.<init>(BeanXStreamConverter.java:58)
>   while locating
> org.apache.shindig.protocol.conversion.BeanXStreamConverter
>   while locating org.apache.shindig.protocol.conversion.BeanConverter
> annotated with
> @com.google.inject.name.Named(value=shindig.bean.converter.xml)
>     for parameter 1 at
>
> org.apache.shindig.protocol.ApiServlet.setBeanConverters(ApiServlet.java:108)
>   while locating org.apache.shindig.protocol.DataServiceServlet
> Caused by: java.lang.NoClassDefFoundError: Could not initialize class
> com.thoughtworks.xstream.converters.extended.ISO8601DateConverter
>  at
> org.apache.shindig.social.core.util.xstream.XStream081Configuration.getConverterConfig(XStream081Configuration.java:322)
>  at
> org.apache.shindig.protocol.conversion.BeanXStreamConverter.<init>(BeanXStreamConverter.java:79)
>  at
> org.apache.shindig.protocol.conversion.BeanXStreamConverter$$FastClassByGuice$$937c7f96.newInstance(<generated>)
>  at
> com.google.inject.internal.cglib.reflect.FastConstructor.newInstance(FastConstructor.java:40)
>
> [....]
>
> 2) Error injecting constructor, java.lang.NoClassDefFoundError: Could
> not initialize class
> com.thoughtworks.xstream.converters.extended.ISO8601DateConverter
>   at
> org.apache.shindig.social.core.util.BeanXStreamAtomConverter.<init>(BeanXStreamAtomConverter.java:38)
>   while locating
> org.apache.shindig.social.core.util.BeanXStreamAtomConverter
>   while locating org.apache.shindig.protocol.conversion.BeanConverter
> annotated with
> @com.google.inject.name.Named(value=shindig.bean.converter.atom)
>     for parameter 2 at
>
> org.apache.shindig.protocol.ApiServlet.setBeanConverters(ApiServlet.java:108)
>   while locating org.apache.shindig.protocol.DataServiceServlet
> Caused by: java.lang.NoClassDefFoundError: Could not initialize class
> com.thoughtworks.xstream.converters.extended.ISO8601DateConverter
>  at
> org.apache.shindig.social.core.util.xstream.XStream081Configuration.getConverterConfig(XStream081Configuration.java:322)
>  at
> org.apache.shindig.protocol.conversion.BeanXStreamConverter.<init>(BeanXStreamConverter.java:79)
>  at
> org.apache.shindig.social.core.util.BeanXStreamAtomConverter.<init>(BeanXStreamAtomConverter.java:38)
>
> [....]
>
> 2 errors
>  at
> com.google.inject.internal.Errors.throwProvisionExceptionIfErrorsExist(Errors.java:370)
>  at
> com.google.inject.MembersInjectorImpl.injectMembers(MembersInjectorImpl.java:66)
>  at com.google.inject.InjectorImpl.injectMembers(InjectorImpl.java:726)
>  at
> org.apache.shindig.common.servlet.InjectedServlet.init(InjectedServlet.java:46)
>  at org.apache.shindig.protocol.ApiServlet.init(ApiServlet.java:76)
>  at
> org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1065)
>  at
> org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:783)
>
> [....]
>
> The web.xml file contains also this configuration:
>
> <context-param>
>  <param-name>guice-modules</param-name>
>  <param-value>
>   org.apache.shindig.common.PropertiesModule:
>   org.apache.shindig.gadgets.DefaultGuiceModule:
>   org.apache.shindig.social.sample.SampleModule:
>   org.apache.shindig.gadgets.oauth.OAuthModule:
>   org.apache.shindig.common.cache.ehcache.EhCacheModule
>  </param-value>
> </context-param>
>
> [...]
>
> <!-- Serve social REST api -->
> <servlet>
>  <servlet-name>socialRestapiServlet</servlet-name>
>    <servlet-class>
>      org.apache.shindig.protocol.DataServiceServlet
>    </servlet-class>
>    <init-param>
>      <param-name>handlers</param-name>
>       <param-value>org.apache.shindig.social.handlers</param-value>
>    </init-param>
> </servlet>
> <servlet-mapping>
>  <servlet-name>socialRestapiServlet</servlet-name>
>  <url-pattern>/social/rest/*</url-pattern>
> </servlet-mapping>
>
> [...]
>
> I have on my maven libraries the xstream artifact (and also
> joda-time), and my web.xml file seams correct, so anybody can help me,
> please?
>
> Thank you,
> Massimeddu.
>