java.lang.NoClassDefFoundError:无法初始化类com.googlecode.objectify.ObjectifyService

java.lang.NoClassDefFoundError:无法初始化类com.googlecode.objectify.ObjectifyService,java,eclipse,google-app-engine,objectify,Java,Eclipse,Google App Engine,Objectify,这是注册用户实体的侦听器类。注册我的POJO类时出错。但是,我的应用程序在本地环境中运行良好。部署到应用程序引擎后,我得到服务器错误500 @WebListener public class MyContextListener implements ServletContextListener { public void contextDestroyed(ServletContextEvent sce) {} public void contextIni

这是注册用户实体的侦听器类。注册我的POJO类时出错。但是,我的应用程序在本地环境中运行良好。部署到应用程序引擎后,我得到服务器错误500

@WebListener
public class MyContextListener implements ServletContextListener {

         public void contextDestroyed(ServletContextEvent sce)  {}

         public void contextInitialized(ServletContextEvent sce)  { 
                 ObjectifyService.register(User.class);
          }
    }
下面是我的完整堆栈跟踪

java.lang.NoClassDefFoundError: Could not initialize class com.googlecode.objectify.ObjectifyService
at com.appengine.listener.MyContextListener.contextInitialized (MyContextListener.java:23)
at org.eclipse.jetty.server.handler.ContextHandler.callContextInitialized (ContextHandler.java:843)
at org.eclipse.jetty.servlet.ServletContextHandler.callContextInitialized (ServletContextHandler.java:533)
at org.eclipse.jetty.server.handler.ContextHandler.startContext (ContextHandler.java:816)
at org.eclipse.jetty.servlet.ServletContextHandler.startContext (ServletContextHandler.java:345)
at org.eclipse.jetty.webapp.WebAppContext.startWebapp (WebAppContext.java:1406)
at org.eclipse.jetty.webapp.WebAppContext.startContext (WebAppContext.java:1368)
at org.eclipse.jetty.server.handler.ContextHandler.doStart (ContextHandler.java:778)
at org.eclipse.jetty.servlet.ServletContextHandler.doStart (ServletContextHandler.java:262)
at org.eclipse.jetty.webapp.WebAppContext.doStart (WebAppContext.java:522)
at org.eclipse.jetty.util.component.AbstractLifeCycle.start (AbstractLifeCycle.java:68)
at com.google.apphosting.runtime.jetty9.AppVersionHandlerMap.createHandler (AppVersionHandlerMap.java:244)
at com.google.apphosting.runtime.jetty9.AppVersionHandlerMap.getHandler (AppVersionHandlerMap.java:182)
at com.google.apphosting.runtime.jetty9.JettyServletEngineAdapter.serviceRequest (JettyServletEngineAdapter.java:97)
at com.google.apphosting.runtime.JavaRuntime$RequestRunnable.dispatchServletRequest (JavaRuntime.java:680)
at com.google.apphosting.runtime.JavaRuntime$RequestRunnable.dispatchRequest (JavaRuntime.java:642)
at com.google.apphosting.runtime.JavaRuntime$RequestRunnable.run (JavaRuntime.java:612)
at com.google.apphosting.runtime.JavaRuntime$NullSandboxRequestRunnable.run (JavaRuntime.java:806)
at com.google.apphosting.runtime.ThreadGroupPool$PoolEntry.run (ThreadGroupPool.java:274)
at java.lang.Thread.run (Thread.java:745)
添加到我的应用程序中的JAR文件
这段代码可能对您有所帮助

try {
    Class.forName("com.googlecode.objectify.ObjectifyService");
} catch (ClassNotFoundException e) {
    e.printStackTrace();
}
此代码用于初始化此类的对象


这段代码在继续之前首先尝试加载上面的类。

看起来您正在尝试自己管理依赖项,而不是依赖pom中的依赖项信息。很难通过stackoverflow调试类路径问题


我建议使用maven和appengine maven插件。使用Google的入门指南让一个项目工作,然后添加Objectify。

请检查您的构建路径,可能是您添加了两个不同的jar,它们具有相同名称的类。如何检查两个不同的jar是否具有相同名称的类?您使用的是maven吗?现在我在line类中发现以下错误。forName()java.lang.NoClassDefFoundError:com/google/appengine/api/datastore/AsyncDatastoreServiceYour应用程序无法自行加载这些类,因此必须使用上述snip手动加载所有类。