2015-10-13 59 views
0

我想部署一个使用Spring安全应用引擎的应用的Spring MVC。这在当地使用jetty dev服务器很好。应用引擎部署与春天MVC

我使用的版本Spring框架的4.1.6,春季安全4.0.2和应用程序引擎SDK的27年9月1日。我在我的日志得到的错误是:

Uncaught exception from servlet 
javax.servlet.UnavailableException: org.springframework.beans.factory.BeanDefinitionStoreException: Failed to read candidate component class: file [/Application.class]; nested exception is java.lang.ExceptionInInitializerError 
    at org.mortbay.jetty.servlet.ServletHolder.makeUnavailable(ServletHolder.java:415) 
    at org.mortbay.jetty.servlet.ServletHolder.initServlet(ServletHolder.java:458) 
    at org.mortbay.jetty.servlet.ServletHolder.doStart(ServletHolder.java:263) 
    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.apphosting.runtime.jetty.AppVersionHandlerMap.createHandler(AppVersionHandlerMap.java:206) 
    at com.google.apphosting.runtime.jetty.AppVersionHandlerMap.getHandler(AppVersionHandlerMap.java:179) 
    at com.google.apphosting.runtime.jetty.JettyServletEngineAdapter.serviceRequest(JettyServletEngineAdapter.java:135) 
    at com.google.apphosting.runtime.JavaRuntime$RequestRunnable.run(JavaRuntime.java:457) 
    at com.google.tracing.TraceContext$TraceContextRunnable.runInContext(TraceContext.java:437) 
    at com.google.tracing.TraceContext$TraceContextRunnable$1.run(TraceContext.java:444) 
    at com.google.tracing.CurrentContext.runInContext(CurrentContext.java:230) 
    at com.google.tracing.TraceContext$AbstractTraceContextCallback.runInInheritedContextNoUnref(TraceContext.java:308) 
    at com.google.tracing.TraceContext$AbstractTraceContextCallback.runInInheritedContext(TraceContext.java:300) 
    at com.google.tracing.TraceContext$TraceContextRunnable.run(TraceContext.java:441) 
    at com.google.apphosting.runtime.ThreadGroupPool$PoolEntry.run(ThreadGroupPool.java:235) 
    at java.lang.Thread.run(Thread.java:745) 

从我读这与GAE不支持春天的某些版本,但我无法找出哪些版本均支持一个错误。我是否认为它与版本有关,如果有的话,我需要哪些版本的这些框架?

谢谢

回答

0

不,肯定不是版本相关的问题。我使用更高版本的春季与GAE和没有问题(我有4.1.6以及):

<appengine.target.version>1.9.27</appengine.target.version> 
<spring.version>4.2.1.RELEASE</spring.version> 
<spring.security.version>4.0.2.RELEASE</spring.security.version> 
<javax.servlet-api.version>2.5</javax.servlet-api.version> 

您可能会发现一些困难试图迁移到春天4.2.1。该解决方案可以在这里找到:

Spring 4.2.1 on GAE and java.util.ResourceBundle$Control is a restricted class

修订

,可能是不同的在您的本地应用程序,GAE是Java中的东西(GAE使用Java7)和Servlet API,它必须是2 .x和将在生产中被替换。特别注意Servlet API,因为web.xml的某些内容可能会有不同的解释。

无论如何,请粘贴整个堆栈跟踪,那么它将更容易找到解决方案。

+0

感谢您的信息。更新的问题有整个堆栈跟踪 – Fraser

0

我不确定是否应该关闭这个问题,但问题是与JMustache。看起来,人们不能通过GAE上的注释启用胡须。我不完全清楚为什么这是,但豆需要在XML中设置。我还没有这个工作,但问题不在于Spring MVC。

相关问题