2012-08-16 70 views
0

我跟着本指南,把一個JSF 2.1項目,並部署到谷歌應用程序引擎:與GAE 1.7 JSF 2部署問題

https://sites.google.com/a/wildstartech.com/adventures-in-java/Java-Platform-Enterprise-Edition/JavaServer-Faces/javaserver-faces-21/configuring-javaserver-faces-21-to-run-on-the-google-app-engine-using-eclipse

我完美的作品,當我在本地運行,但是當我嘗試在GAE部署應用程序時,會出現以下錯誤:

Uncaught exception from servlet java.lang.UnsupportedClassVersionError: com/sun/faces/config/WebConfiguration at com.sun.faces.config.ConfigureListener.contextInitialized(ConfigureListener.java:163) at org.mortbay.jetty.handler.ContextHandler.startContext(ContextHandler.java:548) at org.mortbay.jetty.servlet.Context.startContext(Context.java:136) 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:202) at com.google.apphosting.runtime.jetty.AppVersionHandlerMap.getHandler(AppVersionHandlerMap.java:171) at com.google.apphosting.runtime.jetty.JettyServletEngineAdapter.serviceRequest(JettyServletEngineAdapter.java:123) at com.google.apphosting.runtime.JavaRuntime$RequestRunnable.run(JavaRuntime.java:477) at com.google.tracing.TraceContext$TraceContextRunnable.runInContext(TraceContext.java:449) at com.google.tracing.TraceContext$TraceContextRunnable$1.run(TraceContext.java:455) at com.google.tracing.TraceContext.runInContext(TraceContext.java:695) at com.google.tracing.TraceContext$AbstractTraceContextCallback.runInInheritedContextNoUnref(TraceContext.java:333) at com.google.tracing.TraceContext$AbstractTraceContextCallback.runInInheritedContext(TraceContext.java:325) at com.google.tracing.TraceContext$TraceContextRunnable.run(TraceContext.java:453) at com.google.apphosting.runtime.ThreadGroupPool$PoolEntry.run(ThreadGroupPool.java:251) at java.lang.Thread.run(Thread.java:679)

這是怎麼回事?我想着這個新的1.7 JDK負責它。 在本地運行,我需要用「-XX:-UseSplitVerifier」正確地增建項目。也許GAE JDK與其他規格建造,並導致此。我真的不知道。

的主要問題是: 如何解決這個問題?

回答

1

從文檔here

Java運行時環境

應用程序引擎運行引用使用Java虛擬6機(JVM)的Java應用程序。 App Engine的SDK支持Java 5及更高版本,以及Java 6 JVM可以使用與Java編譯器的任何版本編譯的類最多的Java 6

所以,是的,在JDK 1.7版本的問題。在1.6編譯你的項目,你應該沒問題!