Java DrEdit不会在Google App Engine上运行

时间:2012-11-21 14:24:15

标签: google-app-engine oauth-2.0 google-drive-api

我无法在Google App Engine上运行DrEdit。 我收到错误消息: 500服务器错误

我试图按照以下页面上的说明操作: https://developers.google.com/drive/examples/java

然而,当我接到以下指示时:

  1. 在项目的Eclipse Build Path编辑器中,将和目录中的所有JAR添加到项目的构建路径中。
  2. 我有问题!

    在Eclipse中我使用的是appengine-java-sdk-1.7.3

    DrEdit似乎是用appengine-java-sdk-1.6.3创建的,当我尝试从DrEdit存储库添加jar时,我最终混合了两个版本。

    所以我以不同的方式添加了DrEdit。

    基本上我从存储库添加了API而不是jar。

    更详细的解释如下:

    I created an Eclipse App Engine project
    then copied the source files from com.google.drive.samples.dredit
    to my own com.google.drive.samples.dredit
    and I copied the source files from com.google.drive.samples.dredit.model
    to my own com.google.drive.samples.dredit.model
    

    我还将静态目录文件结构复制到我自己的war目录。

    我还复制了存储库web.xml,appengine-web.xml,client_secrets.json和logging.properties

    我还使用index.jsp

    复制了templates目录

    然后我添加了Drive API和Google OAuth2 API,以摆脱源文件中显示的红色十字架。

    我还删除了index.html

    我将正确的详细信息放在client_secrets.json文件中,并将我的应用标识放在appengine-web.xml中

    文件结构如下所示

    https://lh5.googleusercontent.com/-3Lh3PoZeTec/UKzXDfCzTlI/AAAAAAAAC98/ELcsRmhiCg0/s789/DrEditFileStructure3.png

    当我尝试在Google App Engine上运行时,我收到500服务器错误。 在日志中,我得到以下堆栈跟踪

    这是堆栈跟踪

    78.147.107.157 - - [22/Nov/2012:02:50:16 -0800] "GET / HTTP/1.1" 500 0 - "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.64 Safari/537.11" "oauth2dredit.appspot.com" ms=2303 cpu_ms=1039 loading_request=1 instance=00c61b117c1af24ed12b197a737ba95b241e522f
    W 2012-11-22 02:50:16.055
    Failed startup of context com.google.apphosting.utils.jetty.RuntimeAppEngineWebAppContext@1a02097{/,/base/data/home/apps/s~oauth2dredit/1.363349173399555415}
    org.mortbay.util.MultiException[java.lang.UnsupportedClassVersionError: com/google/drive/samples/dredit/AboutServlet : Unsupported major.minor version 51.0, java.lang.UnsupportedClassVersionError: com/google/drive/samples/dredit/FileServlet : Unsupported major.minor version 51.0, java.lang.UnsupportedClassVersionError: com/google/drive/samples/dredit/StartPageServlet : Unsupported major.minor version 51.0, java.lang.UnsupportedClassVersionError: com/google/drive/samples/dredit/UserServlet : Unsupported major.minor version 51.0]
        at org.mortbay.jetty.servlet.ServletHandler.initialize(ServletHandler.java:656)
        at org.mortbay.jetty.servlet.Context.startContext(Context.java:140)
        at org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1250)
        at org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:517)
        at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:467)
        at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
        at com.google.apphosting.runtime.jetty.AppVersionHandlerMap.createHandler(AppVersionHandlerMap.java:219)
        at com.google.apphosting.runtime.jetty.AppVersionHandlerMap.getHandler(AppVersionHandlerMap.java:194)
        at com.google.apphosting.runtime.jetty.JettyServletEngineAdapter.serviceRequest(JettyServletEngineAdapter.java:134)
        at com.google.apphosting.runtime.JavaRuntime$RequestRunnable.run(JavaRuntime.java:447)
        at com.google.tracing.TraceContext$TraceContextRunnable.runInContext(TraceContext.java:454)
        at com.google.tracing.TraceContext$TraceContextRunnable$1.run(TraceContext.java:461)
        at com.google.tracing.TraceContext.runInContext(TraceContext.java:703)
        at com.google.tracing.TraceContext$AbstractTraceContextCallback.runInInheritedContextNoUnref(TraceContext.java:338)
        at com.google.tracing.TraceContext$AbstractTraceContextCallback.runInInheritedContext(TraceContext.java:330)
        at com.google.tracing.TraceContext$TraceContextRunnable.run(TraceContext.java:458)
        at com.google.apphosting.runtime.ThreadGroupPool$PoolEntry.run(ThreadGroupPool.java:251)
        at java.lang.Thread.run(Thread.java:679)
    java.lang.UnsupportedClassVersionError: com/google/drive/samples/dredit/AboutServlet : Unsupported major.minor version 51.0
        at com.google.appengine.runtime.Request.process-b3e6d785ba51dcea(Request.java)
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClass(ClassLoader.java:634)
        at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
        at java.net.URLClassLoader.defineClass(URLClassLoader.java:277)
        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 java.lang.ClassLoader.loadClass(ClassLoader.java:266)
        at org.mortbay.util.Loader.loadClass(Loader.java:91)
        at org.mortbay.util.Loader.loadClass(Loader.java:71)
        at org.mortbay.jetty.servlet.Holder.doStart(Holder.java:73)
        at org.mortbay.jetty.servlet.ServletHolder.doStart(ServletHolder.java:242)
        at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
        at org.mortbay.jetty.servlet.ServletHandler.initialize(ServletHandler.java:685)
        at org.mortbay.jetty.servlet.Context.startContext(Context.java:140)
        at org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1250)
        at org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:517)
        at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:467)
        at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
        at com.google.tracing.TraceContext$TraceContextRunnable.runInContext(TraceContext.java:454)
        at com.google.tracing.TraceContext$TraceContextRunnable$1.run(TraceContext.java:461)
        at com.google.tracing.TraceContext.runInContext(TraceContext.java:703)
        at com.google.tracing.TraceContext$AbstractTraceContextCallback.runInInheritedContextNoUnref(TraceContext.java:338)
        at com.google.tracing.TraceContext$AbstractTraceContextCallback.runInInheritedContext(TraceContext.java:330)
        at com.google.tracing.TraceContext$TraceContextRunnable.run(TraceContext.java:458)
        at java.lang.Thread.run(Thread.java:679)
    java.lang.UnsupportedClassVersionError: com/google/drive/samples/dredit/FileServlet : Unsupported major.minor version 51.0
        at com.google.appengine.runtime.Request.process-b3e6d785ba51dcea(Request.java)
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClass(ClassLoader.java:634)
        at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
        at java.net.URLClassLoader.defineClass(URLClassLoader.java:277)
        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 java.lang.ClassLoader.loadClass(ClassLoader.java:266)
        at org.mortbay.util.Loader.loadClass(Loader.java:91)
        at org.mortbay.util.Loader.loadClass(Loader.java:71)
        at org.mortbay.jetty.servlet.Holder.doStart(Holder.java:73)
        at org.mortbay.jetty.servlet.ServletHolder.doStart(ServletHolder.java:242)
        at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
        at org.mortbay.jetty.servlet.ServletHandler.initialize(ServletHandler.java:685)
        at org.mortbay.jetty.servlet.Context.startContext(Context.java:140)
        at org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1250)
        at org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:517)
        at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:467)
        at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
        at com.google.tracing.TraceContext$TraceContextRunnable.runInContext(TraceContext.java:454)
        at com.google.tracing.TraceContext$TraceContextRunnable$1.run(TraceContext.java:461)
        at com.google.tracing.TraceContext.runInContext(TraceContext.java:703)
        at com.google.tracing.TraceContext$AbstractTraceContextCallback.runInInheritedContextNoUnref(TraceContext.java:338)
        at com.google.tracing.TraceContext$AbstractTraceContextCallback.runInInheritedContext(TraceContext.java:330)
        at com.google.tracing.TraceContext$TraceContextRunnable.run(TraceContext.java:458)
        at java.lang.Thread.run(Thread.java:679)
    java.lang.UnsupportedClassVersionError: com/google/drive/samples/dredit/StartPageServlet : Unsupported major.minor version 51.0
        at com.google.appengine.runtime.Request.process-b3e6d785ba51dcea(Request.java)
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClass(ClassLoader.java:634)
        at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
        at java.net.URLClassLoader.defineClass(URLClassLoader.java:277)
        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 java.lang.ClassLoader.loadClass(ClassLoader.java:266)
        at org.mortbay.util.Loader.loadClass(Loader.java:91)
        at org.mortbay.util.Loader.loadClass(Loader.java:71)
        at org.mortbay.jetty.servlet.Holder.doStart(Holder.java:73)
        at org.mortbay.jetty.servlet.ServletHolder.doStart(ServletHolder.java:242)
        at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
        at org.mortbay.jetty.servlet.ServletHandler.initialize(ServletHandler.java:685)
        at org.mortbay.jetty.servlet.Context.startContext(Context.java:140)
        at org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1250)
        at org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:517)
        at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:467)
        at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
        at com.google.tracing.TraceContext$TraceContextRunnable.runInContext(TraceContext.java:454)
    <continued in next message>
    W 2012-11-22 02:50:16.055
    <continued from previous message>
        at com.google.tracing.TraceContext$TraceContextRunnable$1.run(TraceContext.java:461)
        at com.google.tracing.TraceContext.runInContext(TraceContext.java:703)
        at com.google.tracing.TraceContext$AbstractTraceContextCallback.runInInheritedContextNoUnref(TraceContext.java:338)
        at com.google.tracing.TraceContext$AbstractTraceContextCallback.runInInheritedContext(TraceContext.java:330)
        at com.google.tracing.TraceContext$TraceContextRunnable.run(TraceContext.java:458)
        at java.lang.Thread.run(Thread.java:679)
    java.lang.UnsupportedClassVersionError: com/google/drive/samples/dredit/UserServlet : Unsupported major.minor version 51.0
        at com.google.appengine.runtime.Request.process-b3e6d785ba51dcea(Request.java)
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClass(ClassLoader.java:634)
        at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
        at java.net.URLClassLoader.defineClass(URLClassLoader.java:277)
        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 java.lang.ClassLoader.loadClass(ClassLoader.java:266)
        at org.mortbay.util.Loader.loadClass(Loader.java:91)
        at org.mortbay.util.Loader.loadClass(Loader.java:71)
        at org.mortbay.jetty.servlet.Holder.doStart(Holder.java:73)
        at org.mortbay.jetty.servlet.ServletHolder.doStart(ServletHolder.java:242)
        at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
        at org.mortbay.jetty.servlet.ServletHandler.initialize(ServletHandler.java:685)
        at org.mortbay.jetty.servlet.Context.startContext(Context.java:140)
        at org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1250)
        at org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:517)
        at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:467)
        at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
        at com.google.tracing.TraceContext$TraceContextRunnable.runInContext(TraceContext.java:454)
        at com.google.tracing.TraceContext$TraceContextRunnable$1.run(TraceContext.java:461)
        at com.google.tracing.TraceContext.runInContext(TraceContext.java:703)
        at com.google.tracing.TraceContext$AbstractTraceContextCallback.runInInheritedContextNoUnref(TraceContext.java:338)
        at com.google.tracing.TraceContext$AbstractTraceContextCallback.runInInheritedContext(TraceContext.java:330)
        at com.google.tracing.TraceContext$TraceContextRunnable.run(TraceContext.java:458)
        at java.lang.Thread.run(Thread.java:679)
    C 2012-11-22 02:50:16.060
    Uncaught exception from servlet
    javax.servlet.UnavailableException: Initialization failed.
        at com.google.apphosting.runtime.jetty.AppVersionHandlerMap.createHandler(AppVersionHandlerMap.java:228)
        at com.google.apphosting.runtime.jetty.AppVersionHandlerMap.getHandler(AppVersionHandlerMap.java:194)
        at com.google.apphosting.runtime.jetty.JettyServletEngineAdapter.serviceRequest(JettyServletEngineAdapter.java:134)
        at com.google.apphosting.runtime.JavaRuntime$RequestRunnable.run(JavaRuntime.java:447)
        at com.google.tracing.TraceContext$TraceContextRunnable.runInContext(TraceContext.java:454)
        at com.google.tracing.TraceContext$TraceContextRunnable$1.run(TraceContext.java:461)
        at com.google.tracing.TraceContext.runInContext(TraceContext.java:703)
        at com.google.tracing.TraceContext$AbstractTraceContextCallback.runInInheritedContextNoUnref(TraceContext.java:338)
        at com.google.tracing.TraceContext$AbstractTraceContextCallback.runInInheritedContext(TraceContext.java:330)
        at com.google.tracing.TraceContext$TraceContextRunnable.run(TraceContext.java:458)
        at com.google.apphosting.runtime.ThreadGroupPool$PoolEntry.run(ThreadGroupPool.java:251)
        at java.lang.Thread.run(Thread.java:679)
    I 2012-11-22 02:50:16.062
    This request caused a new process to be started for your application, and thus caused your application code to be loaded for the first time. This request may thus take longer and use more CPU than a typical request for your application.
    

1 个答案:

答案 0 :(得分:1)

我会说你正在使用Java 7构建,切换到6. GAE只是在1.7.3中添加了7的初始支持,但我从未见过它正在工作。