com.google.api.server.spi.SystemServiceServlet ClassNotFoundException running App Engine Project

14 views
Skip to first unread message

LIS via StackOverflow

unread,
Apr 23, 2015, 9:12:28 PM4/23/15
to google-appengin...@googlegroups.com

I have an android app that I would like to add a serve backend to talk to GCM. I have followed this tutorial: https://github.com/GoogleCloudPlatform/gradle-appengine-templates/tree/master/GcmEndpoints and created an App Engine Backend with Google Cloud Messaging module to the android project in android studio. When I run the app engine backend project, however, I am getting this error:

java.lang.ClassNotFoundException: com.google.api.server.spi.SystemServiceServlet.

The full stack is as following:

at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
at com.google.appengine.tools.development.IsolatedAppClassLoader.loadClass(IsolatedAppClassLoader.java:216)
at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
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:254)
at com.google.appengine.tools.development.AbstractContainerService.startup(AbstractContainerService.java:305)
at com.google.appengine.tools.development.AutomaticInstanceHolder.startUp(AutomaticInstanceHolder.java:26)
at com.google.appengine.tools.development.AbstractModule.startup(AbstractModule.java:79)
at com.google.appengine.tools.development.Modules.startup(Modules.java:97)
at com.google.appengine.tools.development.DevAppServerImpl.doStart(DevAppServerImpl.java:255)
at com.google.appengine.tools.development.DevAppServerImpl.access$000(DevAppServerImpl.java:47)
at com.google.appengine.tools.development.DevAppServerImpl$1.run(DevAppServerImpl.java:213)
at com.google.appengine.tools.development.DevAppServerImpl$1.run(DevAppServerImpl.java:211)
at java.security.AccessController.doPrivileged(Native Method)
at com.google.appengine.tools.development.DevAppServerImpl.start(DevAppServerImpl.java:211)
at com.google.appengine.tools.development.DevAppServerMain$StartAction.apply(DevAppServerMain.java:277)
at com.google.appengine.tools.util.Parser$ParseResult.applyArgs(Parser.java:48)
at com.google.appengine.tools.development.DevAppServerMain.run(DevAppServerMain.java:219)
at com.google.appengine.tools.development.DevAppServerMain.main(DevAppServerMain.java:210)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:134)

Here is the content of the web.xml file:

<?xml version="1.0" encoding="utf-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee" version="2.5">
<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>com.example.mymodule.backend.RegistrationEndpoint, com.example.mymodule.backend.MessagingEndpoint</param-value>
    </init-param>

<welcome-file-list>
    <welcome-file>index.html</welcome-file>
</welcome-file-list>
</web-app>

This is the command line passed to Java engine.

"C:\Program Files\Java\jdk1.7.0_80\bin\java" -javaagent:C:\Users\xx\.gradle\appengine-sdk\appengine-java-sdk-1.9.4\lib\agent\appengine-agent.jar -Xbootclasspath/p:C:\Users\xx\.gradle\appengine-sdk\appengine-java-sdk-1.9.4\lib\override\appengine-dev-jdk-overrides.jar -Didea.launcher.port=7532 "-Didea.launcher.bin.path=C:\Program Files (x86)\Android\android-studio\bin" -Dfile.encoding=windows-1252 -classpath "C:\Users\xx\.gradle\appengine-sdk\appengine-java-sdk-1.9.4\lib\appengine-tools-api.jar;C:\Program Files (x86)\Android\android-studio\lib\idea_rt.jar" com.intellij.rt.execution.application.AppMain com.google.appengine.tools.development.DevAppServerMain --address=127.0.0.1 --port=8080 C:\Users\xx\Documents\Android\GroceryList\backend\src\main\webapp

Any suggestion on how to fix this error is really appreciated.



Please DO NOT REPLY directly to this email but go to StackOverflow:
http://stackoverflow.com/questions/29837005/com-google-api-server-spi-systemserviceservlet-classnotfoundexception-running-ap

LIS via StackOverflow

unread,
Apr 24, 2015, 3:43:09 PM4/24/15
to google-appengin...@googlegroups.com

I resolved the issue by setting the "War Path" for the App Engine Project to \build\exploded-app. This should be generated by Android Studio automatically. For some reason, when I add the new app engine module, the new configuration was not generated so I have to manually create the configuration and settings for app engine.



Please DO NOT REPLY directly to this email but go to StackOverflow:
http://stackoverflow.com/questions/29837005/com-google-api-server-spi-systemserviceservlet-classnotfoundexception-running-ap/29856108#29856108
Reply all
Reply to author
Forward
0 new messages