2016-10-15 4 views
1

변경된 내용을 알 수 없습니다. AppEngine에있는 API입니다. 지난 2 일 동안 나는 밀어 붙일 수 없었다. 아무도 이것이 무엇을 일으킬 수 있는지 알고 있습니까? Mac El Capitan에서 Android Studio를 사용하고 있습니다.AppEngine 배포 오류 : java.lang.UnsupportedClassVersionError

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 버전의 소스를 컴파일했지만 더 낮은 Java 버전을 실행하는 환경에서는 – kuhajeyan

+0

사용자의 응답을 이해할 수 없습니다. 하지만 안드로이드 스튜디오에서 Java 8을 사용하고 있는데, 그게 내가 gradle'JavaVersion.VERSION_1_8'에서 사용하고있는 것입니다. 좀 더 구체적이고 실용적인 것이 마음에 드십니까? 그리고 내가 아는 한, 코드를 실행하는 환경을 결정하지 않습니다. appEngine에 배포하기 만하면 그 이후에 일어나는 일은 나에게 달려 있지 않습니다. –

+0

지원되지 않는 major.minor 버전 52.0은 말 jdk 8u101에서 컴파일 된 상태에서 바이트 코드가 컴파일 될 때 발생하지만 배포 환경은 8u90과 비슷합니다. (101, 90 <= minor versions) – kuhajeyan

답변

1

오류 메시지가 수신 :

52.0 수단을 : 자바를

Unsupported major.minor version 52.0 

단지 JRE는 실행하려고 바이트 코드 버전을 처리 할 수있는 Google App Engine을 사용하는 것이 확인 SE 8 = 52 (0x34 16 진수)

이것은 실제로 처리 할 수 ​​없습니다. App Engine은 현재 Java7 런타임과 함께 작동합니다 (see doc) :

App Engine runs your Java web application using a Java 7 JVM in a safe "sandboxed" environment.

그러나 이것은 차단 문제가 아닙니다. 당신이 생성 된 바이트 코드는 Java7 JRE와 호환 유지되도록, 7 단지 명시 적으로 컴파일러 플래그를 설정하는 것입니다해야 할 유일한 것은 :

-source 1.7 -target 1.7 
+0

안드로이드 스튜디오에서이 깃발을 어디에 둘 것인지 알려주시겠습니까? '파일> 기타 설정> 기본 설정'아래에 있습니까? –

0

는 내 연구에 따르면, I가 컴파일러 설정 중요하지 않습니다 . Java는 Java를 지원하므로 코드가 컴파일됩니다. 그러나 Java 8 메서드가있는 경우 app-engine이 해당 메서드를 실행하려고하면 Java 1.7에서 해당 메서드를 인식하지 못하기 때문에 예외가 throw됩니다. 이제는 Java 1.8 구조를 사용할 수있는 메소드를 확인하는 코드를 살펴볼 것입니다.

관련 문제