1

問題があり、どうすればよいかわかりません。そこで、Java(JSP-Servlet) と App Engine API を使用して小さな Web アプリケーションを作成しました。これはロケールで動作していますが、デプロイすると次のエラーが表示されます。

Error: Server Error

The server encountered an error and could not complete your request.

If the problem persists, please report your problem and mention this error message and the query that caused it.

管理ページのログ

java.lang.UnsupportedClassVersionError: persiste/EmployeServlet : Unsupported major.minor version 51.0
    at com.google.appengine.runtime.Request.process-50f1863c6e652dbb(Request.java)
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:634)
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
    at java.net.URLClassLoader.defineClass(URLClassLoader.java:277)
    at sun.reflect.GeneratedMethodAccessor5.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:616)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
    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 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 java.lang.Thread.run(Thread.java:679)

Java を (Java 7 から Java 6 に) 変更してアプリケーションを実行すると、次のエラーが発生します。

2012 年 7 月 13:02:52 com.google.apphosting.utils.jetty.JettyLogger 警告: Testv2 に失敗しました: java.lang.UnsupportedClassVersionError: test/Testv2Servlet: サポートされていない major.minor バージョン 51.0

2012 年 12 月 7 日 13:02:52 com.google.apphosting.utils.jetty.JettyLogger 警告: com.google.appengine.tools.development.DevAppEngineWebAppContext@1522de2{/,D:\Etudes\Stage Dirham Express\workspace\ に失敗しましたtestv2\war}: java.lang.UnsupportedClassVersionError: test/Testv2Servlet: サポートされていない major.minor バージョン 51.0

2012 年 7 月 13:02:52 com.google.apphosting.utils.jetty.JettyLogger 警告: JettyContainerService$ApiProxyHandler@15f4a7f に失敗しました: java.lang.UnsupportedClassVersionError: test/Testv2Servlet: サポートされていない major.minor バージョン 51.0

7 août 2012 13:02:52 com.google.apphosting.utils.jetty.JettyLogger 警告: 例外 java.lang.UnsupportedClassVersionError: test/Testv2Servlet: サポートされていない major.minor バージョン 51.0

at java.lang.ClassLoader.defineClass1(Native Method)

at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631)

at java.lang.ClassLoader.defineClass(ClassLoader.java:615)

at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)

at java.net.URLClassLoader.defineClass(URLClassLoader.java:283)

at java.net.URLClassLoader.access$000(URLClassLoader.java:58)
at java.net.URLClassLoader$1.run(URLClassLoader.java:197)

at java.security.AccessController.doPrivileged(Native Method)

at java.net.URLClassLoader.findClass(URLClassLoader.java:190)

at java.lang.ClassLoader.loadClass(ClassLoader.java:306)

at com.google.appengine.tools.development.IsolatedAppClassLoader.loadClass(IsolatedAppClassLoader.java:190)

at java.lang.ClassLoader.loadClass(ClassLoader.java:247)

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 

com.google.appengine.tools.development.JettyContainerService.reloadWebApp(JettyContainerService.java:315)

at com.google.appengine.tools.development.JettyContainerService$ScannerListener.fileChanged(JettyContainerService.java:259)

at org.mortbay.util.Scanner.reportChange(Scanner.java:464)

at org.mortbay.util.Scanner.reportDifferences(Scanner.java:330)

at org.mortbay.util.Scanner.scan(Scanner.java:280)

at org.mortbay.util.Scanner$1.run(Scanner.java:232)

at java.util.TimerThread.mainLoop(Timer.java:512)

at java.util.TimerThread.run(Timer.java:462)

2012 年 7 月 13:02:52 com.google.apphosting.utils.jetty.JettyLogger 警告: com.google.appengine.tools.development.JettyContainerService$ScannerListener@113e9fd が「D:\Etudes\Stage Dirham Express\workspace」で失敗しました\testv2\war\WEB-INF\appengine-web.xml

4

2 に答える 2

2

このエラーは、あるバージョンのJava SDKでjarをコンパイルし、別のバージョンで実行しようとすると発生します。AppEngineの本番環境はJava6(別名v1.6)をサポートしているため、コードをコンパイルするときはローカルマシンでもJava6を使用する必要があります。

コンピュータに複数のバージョンのJavaがインストールされている場合は、コードをコンパイルするときに正しいバージョンを使用していることを確認してください。

Eclipseを使用している場合は、Java 6も使用するように構成されていることを確認してください。バージョンを変更した後は、プロジェクトを「クリーンアップ」して古いクラスを削除する必要もあります。

于 2012-07-23T17:24:08.403 に答える
0

バージョン番号は 51.0 です。App Engine はドットをサポートしていません。

于 2012-08-04T08:21:40.400 に答える