【问题标题】:Hello world app - API serving not allowed for this applicationHello world 应用程序 - 此应用程序不允许 API 服务
【发布时间】:2012-11-30 10:29:35
【问题描述】:

所以,我所做的只是创建一个默认的 Google App Engine (GAE) 项目,该项目打印“Hello World”并将其部署到服务器。我不断收到以下错误消息:

Error: Server Error
The server encountered an error and could not complete your request.

If the problem persists, please report your problem and mention this error message and
the query that caused it.

管理员日志显示如下:

API serving not allowed for this application

我现在什么都没做,只是默认的Servlet。使用Debug as -> Web application在我的笔记本电脑上运行良好

我尝试将 JVM 更改为 1.6,并将合规级别设置为 1.6,但始终收到相同的错误消息。

编辑:到目前为止,我一直在查看 Administration->Admin Logs,但是当我查看 Main->Logs 时,我发现实际的异常被抛出。看起来我正在使用的 JVM 版本有问题:

Uncaught exception from servlet
java.lang.UnsupportedClassVersionError: testwebproject/TestWebProjectServlet : Unsupported major.minor version 51.0
at com.google.appengine.runtime.Request.process-5f33a9433a8c2a4e(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)

【问题讨论】:

  • 您是否启用了 Cloud Endpoints?
  • 如果您正在构建 REST 或 SOAP 服务,这不是必需的吗?但要回答你的问题,不,我没有。我确实读过它可能需要几周时间才能获得批准。
  • 只有在构建支持 Cloud Endpoint 的应用程序时才应该启用它:stackoverflow.com/questions/11565699/…
  • Afaik,如果您使用 Google 需要逐个启用的任何“测试器”API(例如 Cloud Endpoints),则可能会发生此错误。
  • @Peter - 是的,之前看到过那个链接。我面临这个错误很奇怪。也许这与我的应用引擎帐户有关?我只是使用标准项目,没有输入任何代码。

标签: java google-app-engine servlets


【解决方案1】:

好的,现在可以了。第一个问题是我在寻找日志的错误位置。第二个问题是因为我使用的 JVM 版本。我确保使用的版本在以下区域:

  1. 项目->属性->Java 构建路径->库
  2. 项目->属性->Java 编译器
  3. Window->Preferences->Java->Installed JREs

我使用的是 JDK 1.7.0_05

编辑:非常感谢 Peter Knego 提供帮助的 cmets

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-10-16
    • 1970-01-01
    • 2017-11-14
    • 1970-01-01
    • 1970-01-01
    • 2015-07-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多