2016-10-16 3 views
2

AppEngineはJava 1.7が必要ですが、AppEngineは自分のコードにJava 1.8メソッドがあると不平を言っています。ここにエラートレースがあります。私はそれを修正する方法がわかりません。私のコードベースにjava 8メソッドがあるかどうかを知るには

Failed startup of context [email protected]6c5c4442{/,/base/data/home/apps/s~myapi-mobile/1.123456789034567} 
org.mortbay.util.MultiException[java.lang.UnsupportedClassVersionError: org/apache/jsp/editor_005fform_jsp : Unsupported major.minor version 52.0, java.lang.UnsupportedClassVersionError: org/apache/jsp/editor_005fform_jsp : Unsupported major.minor version 52.0] 
    at org.mortbay.jetty.servlet.ServletHandler.initialize(ServletHandler.java:656) 
    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:203) 
    at com.google.apphosting.runtime.jetty.AppVersionHandlerMap.getHandler(AppVersionHandlerMap.java:176) 
    at com.google.apphosting.runtime.jetty.JettyServletEngineAdapter.serviceRequest(JettyServletEngineAdapter.java:133) 
    at com.google.apphosting.runtime.JavaRuntime$RequestRunnable.run(JavaRuntime.java:501) 
    at com.google.tracing.TraceContext$TraceContextRunnable.runInContext(TraceContext.java:446) 
    at com.google.tracing.TraceContext$TraceContextRunnable$1.run(TraceContext.java:453) 
    at com.google.tracing.CurrentContext.runInContext(CurrentContext.java:276) 
    at com.google.tracing.TraceContext$AbstractTraceContextCallback.runInInheritedContextNoUnref(TraceContext.java:312) 
    at com.google.tracing.TraceContext$AbstractTraceContextCallback.runInInheritedContext(TraceContext.java:304) 
    at com.google.tracing.TraceContext$TraceContextRunnable.run(TraceContext.java:450) 
    at com.google.apphosting.runtime.ThreadGroupPool$PoolEntry.run(ThreadGroupPool.java:235) 
    at java.lang.Thread.run(Thread.java:745) 
java.lang.UnsupportedClassVersionError: org/apache/jsp/editor_005fform_jsp : Unsupported major.minor version 52.0 
    at com.google.appengine.runtime.Request.process-9f0a91645afbfd1f(Request.java) 
    at java.lang.ClassLoader.defineClass1(Native Method) 
    at java.lang.ClassLoader.defineClass(ClassLoader.java:820) 
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) 
    at java.net.URLClassLoader.defineClass(URLClassLoader.java:449) 
    at sun.reflect.GeneratedMethodAccessor5.invoke(Unknown Source) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
    at java.lang.reflect.Method.invoke(Method.java:606) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:375) 
    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:446) 
    at com.google.tracing.TraceContext$TraceContextRunnable$1.run(TraceContext.java:453) 
    at com.google.tracing.CurrentContext.runInContext(CurrentContext.java:276) 
    at com.google.tracing.TraceContext$AbstractTraceContextCallback.runInInheritedContextNoUnref(TraceContext.java:312) 
    at com.google.tracing.TraceContext$AbstractTraceContextCallback.runInInheritedContext(TraceContext.java:304) 
    at com.google.tracing.TraceContext$TraceContextRunnable.run(TraceContext.java:450) 
    at java.lang.Thread.run(Thread.java:745) 
java.lang.UnsupportedClassVersionError: org/apache/jsp/editor_005fform_jsp : Unsupported major.minor version 52.0 
    at com.google.appengine.runtime.Request.process-9f0a91645afbfd1f(Request.java) 
    at java.lang.ClassLoader.defineClass1(Native Method) 
    at java.lang.ClassLoader.defineClass(ClassLoader.java:820) 
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) 
    at java.net.URLClassLoader.defineClass(URLClassLoader.java:449) 
    at sun.reflect.GeneratedMethodAccessor5.invoke(Unknown Source) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
    at java.lang.reflect.Method.invoke(Method.java:606) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:375) 
    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:446) 
    at com.google.tracing.TraceContext$TraceContextRunnable$1.run(TraceContext.java:453) 
    at com.google.tracing.CurrentContext.runInContext(CurrentContext.java:276) 
    at com.google.tracing.TraceContext$AbstractTraceContextCallback.runInInheritedContextNoUnref(TraceContext.java:312) 
    at com.google.tracing.TraceContext$AbstractTraceContextCallback.runInInheritedContext(TraceContext.java:304) 
    at com.google.tracing.TraceContext$TraceContextRunnable.run(TraceContext.java:450) 
    at java.lang.Thread.run(Thread.java:745) 
+0

可能性のJava 8を使用している、(例えば、() -> {}をラムダを使用して)認識されていない構文を報告します複製http://stackoverflow.com/questions/34921899/unsupported-java-version-cannot-start-under-java-1-7-java-1-8-or-later-is-requ?s=2|2.5599 –

答えて

2

はないあなたはJava8方法を持っているというメッセージを伝えない実行環境は、以前のJavaバージョンであるのに対し、それはあなたのJavaファイルがJava8コンパイラを使用してをコンパイルされていることを伝えます。

+0

https://code.google.com/p/android/issues/detail?id=75527 QUOTE ::一般に、JavaコンパイラはAPIコンプライアンスを実施していないため、JDK 7を使用してプログラムをコンパイルすることができます。 -source 1.6と-target 1.6、JDK 7の* still *参照APIをJDK 6で利用できず、すべてがスムーズにコンパイルされます(ただし、新しいAPIを参照しない限りJava 7の言語構文のいずれかを使用して)。そして明らかに、APIがないためにJava 6上で動作しません。要するに、コンパイラはそれを強制しません。どんなAPIを使用しても、言語コンプライアンスのみを強制します... –

+1

Googleのコード上のこの記事は、何かについては何もありません。 Java8のlibsで利用可能なメソッドに対するランタイム依存性についてです。ターゲットJavaバージョンのJREに対してコンパイルするようにIDEを設定する必要がある場合は、 –

+0

確かに。利用できなかったメソッドを使用しようとすると、別のエラーメッセージが表示されます。 –

0

実際の質問に答えるには、Java 7(またはそれ以下の)コンパイラを使用してコードをコンパイルして、何が起こるかを調べることができます。

コードを問題なくコンパイルすると、Java 8のメソッドを使用していない可能性があります(これは必須ではありませんが、リフレクションを使用するJava 8のメソッドがあります)。

例外がある場合は、その根本原因を確認するために例外を検査する必要があります。

エラーが明らかに存在しないメソッドを報告した場合(たとえば、新しいコレクションは/ APIストリーム)、または彼らは、あなたがそう

関連する問題