Search code examples
javagoogle-app-enginemavengwterrai

Google App Engine - NoClassDefFoundError: Could not initialize class org.jboss.errai.jaxrs.ErraiProvider


When I checked my GAE logs from Google Console I can see the error below. However my app works find with GWT dev mode and also when deployed in localhost, so I am curious as to what is the issue that is causing this:

Uncaught exception from servlet java.lang.NoClassDefFoundError: Could not initialize class org.jboss.errai.jaxrs.ErraiProvider 
        at com.google.appengine.runtime.Request.process-0c118cfa1dca4123(Request.java) 
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)      
        at java.lang.reflect.Constructor.newInstance(Constructor.java:33) at org.jboss.resteasy.core.ConstructorInjectorImpl.construct(ConstructorInjectorImpl.java:132) 
        at org.jboss.resteasy.spi.ResteasyProviderFactory.createProviderInstance(ResteasyProviderFactory.java:1801) 
        at org.jboss.resteasy.spi.ResteasyProviderFactory.addMessageBodyReader(ResteasyProviderFactory.java:681) 
        at org.jboss.resteasy.spi.ResteasyProviderFactory.registerProvider(ResteasyProviderFactory.java:1128) 
        at org.jboss.resteasy.spi.ResteasyProviderFactory.registerProvider(ResteasyProviderFactory.java:1085) 
        at org.jboss.resteasy.spi.ResteasyProviderFactory.registerProvider(ResteasyProviderFactory.java:1029) 
        at org.jboss.resteasy.spi.ResteasyDeployment.registerProvider(ResteasyDeployment.java:508) 
        at org.jboss.resteasy.spi.ResteasyDeployment.registration(ResteasyDeployment.java:316) 
        at org.jboss.resteasy.spi.ResteasyDeployment.start(ResteasyDeployment.java:226)            
        at org.jboss.resteasy.plugins.server.servlet.ResteasyBootstrap.contextInitialized(ResteasyBootstrap.java:28) at 

My config is here: https://community.jboss.org/thread/232585

And the pom.xml have this:

<dependency>
  <groupId>org.jboss.errai</groupId>
  <artifactId>errai-jaxrs-provider</artifactId>
  <version>${version.errai}</version>
</dependency>

Solution

  • You get this error because you did not include a required jar into your /war/WEB-INF/lib/ folder. It's not enough to add it to your classpath.

    If you use Eclipse, you should see a warning in the Problems tab about a resource being not available on the server.