【问题标题】:Google App Engine - NoClassDefFoundError: Could not initialize class org.jboss.errai.jaxrs.ErraiProviderGoogle App Engine - NoClassDefFoundError:无法初始化类 org.jboss.errai.jaxrs.ErraiProvider
【发布时间】:2014-08-10 20:26:40
【问题描述】:

当我从 Google 控制台检查我的 GAE 日志时,我可以看到以下错误。但是,我的应用程序可以在 GWT 开发模式下找到,并且在部署在 localhost 时也可以使用,所以我很好奇导致此问题的问题是什么:

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 

我的配置在这里:https://community.jboss.org/thread/232585

pom.xml 有这个:

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

【问题讨论】:

    标签: java google-app-engine maven gwt errai


    【解决方案1】:

    您收到此错误是因为您没有将所需的 jar 包含到您的 /war/WEB-INF/lib/ 文件夹中。将它添加到您的类路径是不够的。

    如果您使用 Eclipse,您应该会在“问题”选项卡中看到有关服务器上资源不可用的警告。

    【讨论】:

    • 我使用 maven,我在 POM 中有 erai-jaxrs-provider
    • 当我在我的 PC 中部署我的应用程序(不是开发模式)时,在 localhost 我没有收到这样的错误
    • 某些 jar 对您的 localhost 可用,但对 App Engine 实例不可用。查看我提到的文件夹,看看你是否有所有的罐子。它可能是 Errai jar 或其/App Engine 依赖项之一。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-03-23
    • 2013-10-27
    • 2014-12-05
    • 2019-11-28
    • 2019-08-22
    • 2017-02-28
    • 2016-09-03
    相关资源
    最近更新 更多