Java GAE1.7JSF2部署的问题

Java GAE1.7JSF2部署的问题,java,google-app-engine,jsf,jsf-2,web-deployment,Java,Google App Engine,Jsf,Jsf 2,Web Deployment,我按照以下指南创建了一个JSF 2.1项目,并将其部署到Google App Engine: 当我在本地运行应用程序时,它可以正常工作,但当我尝试在GAE部署应用程序时,会出现以下错误: 来自servlet的未捕获异常 java.lang.UnsupportedClassVersionError:com/sun/faces/config/WebConfiguration 位于com.sun.faces.config.ConfigureListener.contextInitialized(C

我按照以下指南创建了一个JSF 2.1项目,并将其部署到Google App Engine:

当我在本地运行应用程序时,它可以正常工作,但当我尝试在GAE部署应用程序时,会出现以下错误:


来自servlet的未捕获异常
java.lang.UnsupportedClassVersionError:com/sun/faces/config/WebConfiguration
位于com.sun.faces.config.ConfigureListener.contextInitialized(ConfigureListener.java:163)
位于org.mortbay.jetty.handler.ContextHandler.startContext(ContextHandler.java:548)
位于org.mortbay.jetty.servlet.Context.startContext(Context.java:136)
位于org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1250)
位于org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:517)
位于org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:467)
位于org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
位于com.google.apphosting.runtime.jetty.AppVersionHandlerMap.createHandler(AppVersionHandlerMap.java:202)
位于com.google.apphosting.runtime.jetty.AppVersionHandlerMap.getHandler(AppVersionHandlerMap.java:171)
位于com.google.apphosting.runtime.jetty.JettyServletEngineAdapter.serviceRequest(JettyServletEngineAdapter.java:123)
位于com.google.apphosting.runtime.JavaRuntime$RequestRunnable.run(JavaRuntime.java:477)
位于com.google.tracing.TraceContext$TraceContextRunnable.runInContext(TraceContext.java:449)
在com.google.tracing.TraceContext$TraceContextRunnable$1.run(TraceContext.java:455)
位于com.google.tracing.TraceContext.runInContext(TraceContext.java:695)
在com.google.tracing.TraceContext$AbstractTraceContextCallback.RunInheritedContextNonRef(TraceContext.java:333)上
在com.google.tracing.TraceContext$AbstractTraceContextCallback.RunInheritedContext(TraceContext.java:325)上
位于com.google.tracing.TraceContext$TraceContextRunnable.run(TraceContext.java:453)
位于com.google.apphosting.runtime.ThreadGroupPool$PoolEntry.run(ThreadGroupPool.java:251)
运行(Thread.java:679)

发生了什么事?我想这是新的1.7JDK的责任。 在本地运行时,我需要使用“-XX:-UseSplitVerifier”来正确构建项目。也许GAE JDK正在使用其他规范构建它,并导致了这种情况。我真的不知道

主要问题是:
如何解决这个问题?

引用文档

Java运行时环境

AppEngine使用Java6虚拟机(JVM)运行Java应用程序。App Engine SDK支持Java 5及更高版本,Java 6 JVM可以使用Java编译器的任何版本编译的类,最高可达Java 6

是的,JDK1.7版本是个问题。在1.6中编译你的项目,你应该很好