GAE local debugging of Spring application

218 views
Skip to first unread message

Andrey Hudyakov

unread,
Feb 27, 2018, 9:02:02 AM2/27/18
to Google App Engine

Hi everyone,

I've developed a web application based on Spring Framework 4 and local debugging had worked fine on Java 7 but after migrated to Java 8 I've got an exception on startup

SEVERE: Context initialization failed
java.lang.NoClassDefFoundError: java.lang.reflect.Parameter is a restricted class. Please see the Google  App Engine developer's guide for more details.
                at com.google.appengine.tools.development.agent.runtime.Runtime.reject(Runtime.java:50)
                at org.springframework.core.StandardReflectionParameterNameDiscoverer.getParameterNames(StandardReflectionParameterNameDiscoverer.java:56)
                at org.springframework.core.PrioritizedParameterNameDiscoverer.getParameterNames(PrioritizedParameterNameDiscoverer.java:65)
                at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:182)
                at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1143)
                at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1046)
                at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:510)
                at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:482)
                at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:305)
                at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)
                at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:301)
                at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:201)
                at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:120)
                at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:674)
                at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:519)
                at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:446)
                at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:328)
                at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:107)
                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 org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:131)
                at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:105)
                at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:61)
                at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
                at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:131)
                at org.eclipse.jetty.server.Server.start(Server.java:422)
                at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:105)
                at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:61)
                at org.eclipse.jetty.server.Server.doStart(Server.java:389)
                at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
                at com.google.appengine.tools.development.jetty9.JettyContainerService.startContainer(JettyContainerService.java:346)
                at com.google.appengine.tools.development.AbstractContainerService.startup(AbstractContainerService.java:284)
                at com.google.appengine.tools.development.AutomaticInstanceHolder.startUp(AutomaticInstanceHolder.java:26)
                at com.google.appengine.tools.development.AbstractModule.startup(AbstractModule.java:87)
                at com.google.appengine.tools.development.Modules.startup(Modules.java:105)
                at com.google.appengine.tools.development.DevAppServerImpl.doStart(DevAppServerImpl.java:274)
                at com.google.appengine.tools.development.DevAppServerImpl.access$000(DevAppServerImpl.java:47)
                at com.google.appengine.tools.development.DevAppServerImpl$1.run(DevAppServerImpl.java:219)
                at com.google.appengine.tools.development.DevAppServerImpl$1.run(DevAppServerImpl.java:217)
                at java.security.AccessController.doPrivileged(Native Method)
                at com.google.appengine.tools.development.DevAppServerImpl.start(DevAppServerImpl.java:217)
                at com.google.appengine.tools.development.DevAppServerMain$StartAction.apply(DevAppServerMain.java:368)
                at com.google.appengine.tools.util.Parser$ParseResult.applyArgs(Parser.java:47)
                at com.google.appengine.tools.development.DevAppServerMain.run(DevAppServerMain.java:223)
                at com.google.appengine.tools.development.DevAppServerMain.main(DevAppServerMain.java:214)


May be someone had the same issue and know how to solve it?

Yannick (Cloud Platform Support)

unread,
Feb 27, 2018, 1:53:53 PM2/27/18
to Google App Engine
Hello, are you developing using Maven? If so, could you please try to update it to the latest release? Doing so has resolved this issue for others.

Andrey Hudyakov

unread,
Mar 1, 2018, 4:19:06 AM3/1/18
to Google App Engine
Hello, Yannick!

Yes, I use maven. Updated to the latest version of Spring Framework 4 and still getting the same error. I forgot to say that this application works fine in Google Cloud after deploy. The problem is reproducing only when starting app in local debug mode. I use Google App Engine SDK 1.9.60.
Thank you for help!

вторник, 27 февраля 2018 г., 23:53:53 UTC+5 пользователь Yannick (Cloud Platform Support) написал:

Yannick (Cloud Platform Support)

unread,
Mar 1, 2018, 11:16:41 AM3/1/18
to Google App Engine
Hello Andrey, to clarify I meant that Maven itself should be updated.

Andrey Hudyakov

unread,
Mar 6, 2018, 2:52:12 AM3/6/18
to Google App Engine
Updating Maven and Java 8 to the latest versions didn't help also. Still getting the same error.

четверг, 1 марта 2018 г., 21:16:41 UTC+5 пользователь Yannick (Cloud Platform Support) написал:

Katayoon (Cloud Platform Support)

unread,
Mar 6, 2018, 5:13:36 PM3/6/18
to Google App Engine
I recommend that you upgrade your App Engine SDK to the latest version (1.9.63) and if the issue still persists, open a case in Public issue Tracker. Meanwhile, you may migrate to the Cloud SDK-based Maven plugin which should address this issue.
Reply all
Reply to author
Forward
0 new messages