eclipse - http 503 错误 gwt jetty 服务器 SERVICE_UNAVAILABLE

标签 eclipse google-app-engine gwt jetty

在 Web 浏览器中运行项目时,我从 eclipse 集成 jetty 服务器收到 503 错误。我收到此错误是因为我更改了项目的 gae 应用程序 ID。

java.lang.ClassNotFoundException: com.google.api.server.spi.SystemServiceServlet
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at com.google.appengine.tools.development.IsolatedAppClassLoader.loadClass(IsolatedAppClassLoader.java:176)
at java.lang.ClassLoader.loadClass(Unknown Source)
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 org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130)
at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130)
at org.mortbay.jetty.Server.doStart(Server.java:224)
at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
at com.google.appengine.tools.development.JettyContainerService.startContainer(JettyContainerService.java:191)
at com.google.appengine.tools.development.AbstractContainerService.startup(AbstractContainerService.java:239)
at com.google.appengine.tools.development.DevAppServerImpl.start(DevAppServerImpl.java:146)
at com.google.appengine.tools.development.gwt.AppEngineLauncher.start(AppEngineLauncher.java:97)
at com.google.gwt.dev.DevMode.doStartUpServer(DevMode.java:509)
at com.google.gwt.dev.DevModeBase.startUp(DevModeBase.java:1068)
at com.google.gwt.dev.DevModeBase.run(DevModeBase.java:811)
at com.google.gwt.dev.DevMode.main(DevMode.java:311)
    21.08.2012 16:09:42 com.google.appengine.tools.development.ApiProxyLocalImpl log
    SCHWERWIEGEND: javax.servlet.ServletContext log: unavailable
    javax.servlet.UnavailableException: com.google.api.server.spi.SystemServiceServlet
at org.mortbay.jetty.servlet.Holder.doStart(Holder.java:79)
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 org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130)
at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130)
at org.mortbay.jetty.Server.doStart(Server.java:224)
at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
at   com.google.appengine.tools.development.JettyContainerService.startContainer(JettyContainerS ervice.java:191)
at com.google.appengine.tools.development.AbstractContainerService.startup(AbstractContainerService.java:239)
at com.google.appengine.tools.development.DevAppServerImpl.start(DevAppServerImpl.java:146)
at com.google.appengine.tools.development.gwt.AppEngineLauncher.start(AppEngineLauncher.java:97)
at com.google.gwt.dev.DevMode.doStartUpServer(DevMode.java:509)
at com.google.gwt.dev.DevModeBase.startUp(DevModeBase.java:1068)
at com.google.gwt.dev.DevModeBase.run(DevModeBase.java:811)
at com.google.gwt.dev.DevMode.main(DevMode.java:311)

    21.08.2012 16:09:42 com.google.apphosting.utils.jetty.JettyLogger warn
    WARNUNG: failed SystemServiceServlet: java.lang.NullPointerException
    21.08.2012 16:09:43 com.google.apphosting.utils.jetty.JettyLogger warn
    WARNUNG: Failed startup of context    com.google.appengine.tools.development.DevAppEngineWebAppContext@9f4160a{/,C:\Users\dp\work        space\fooApp\war}
    java.lang.NullPointerException
     at java.lang.Class.isAssignableFrom(Native Method)
at org.mortbay.jetty.servlet.ServletHolder.doStart(ServletHolder.java:256)
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 org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130)
at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130)
at org.mortbay.jetty.Server.doStart(Server.java:224)
at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
at com.google.appengine.tools.development.JettyContainerService.startContainer(JettyContainerService.java:191)
at com.google.appengine.tools.development.AbstractContainerService.startup(AbstractContainerService.java:239)
at com.google.appengine.tools.development.DevAppServerImpl.start(DevAppServerImpl.java:146)
at com.google.appengine.tools.development.gwt.AppEngineLauncher.start(AppEngineLauncher.java:97)
at com.google.gwt.dev.DevMode.doStartUpServer(DevMode.java:509)
at com.google.gwt.dev.DevModeBase.startUp(DevModeBase.java:1068)
at com.google.gwt.dev.DevModeBase.run(DevModeBase.java:811)
at com.google.gwt.dev.DevMode.main(DevMode.java:311)
    21.08.2012 16:09:46 com.google.appengine.tools.development.DevAppServerImpl start
    INFO: The server is running at http://localhost:8888/
    21.08.2012 16:09:46 com.google.appengine.tools.development.DevAppServerImpl start
    INFO: The admin console is running at http://localhost:8888/_ah/admin

这是我的 web.xml 文件

<!-- Default page to serve -->
<welcome-file-list>
   <welcome-file>fooApp.html</welcome-file>
</welcome-file-list>
<servlet>
   <servlet-name>phonegapfileapi</servlet-name>
   <servlet           class>com.googlecode.gwtphonegap.server.file.FileRemoteServiceServlet</servlet-class>
   </servlet>
   <servlet-mapping>
      <servlet-name>phonegapfileapi</servlet-name>
      <url-pattern>/showcase/phonegapfileapi</url-pattern>
   </servlet-mapping>
   <servlet>
       <servlet-name>SystemServiceServlet</servlet-name>
       <servlet-class>com.google.api.server.spi.SystemServiceServlet</servlet-class>
       <init-param>
          <param-name>services</param-name>
       <param-value/>
     </init-param>
   </servlet>

   <servlet-mapping>
      <servlet-name>SystemServiceServlet</servlet-name>
      <url-pattern>/_ah/spi/*</url-pattern>
   </servlet-mapping>

所有的jar都在fooApp/war/WEB-INF/lib 我该如何解决这个问题? 请帮忙。

最佳答案

我遇到了同样的问题。 SystemServiceServlet 似乎只有在您想在 jetty 中部署 Web 管理 servlet 时才需要。

在我的例子中,问题是 GAE eclipse 插件默认使用 GAE Java SDK 1.6 并且包 com.google.api.server 甚至不存在。我通过手动将 SDK 设置为 GAE SDK 1.7 来修复它。

更改 SDK 时要小心,我尝试通过更改默认 SDK 但仍然遇到此问题,直到我选择指向 1.7 的“使用特定 SDK”。

关于eclipse - http 503 错误 gwt jetty 服务器 SERVICE_UNAVAILABLE,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12060233/

相关文章:

java - 启动 opencsv 时出现问题

java - 我可以同时拥有 JDO 和 JPA 注释吗?

Java、iRpeort 和 JasperSoft - 没有为编译器设置报告 : null

java - 你能用谷歌端点设置一个简单的登录系统吗

php - 从 Google Cloud 请求图像使页面速度极慢

javascript - GWT 是否重用 Google Closure Compiler,如果不重用,为什么?

javascript - Jquery/MooTools/Prototype 是否消除了对 GWT 的需求?

java - NetBeans 中的 GWT JUnit 测试

java - 推特4J - 404 :The URI requested is invalid or the resource requested - code - 34

java - 具有一对一关系的实体的 JSON 输出