新浪SAE部署 503 JDK版本冲突解决
上午把本地调试好的微信应用部署到SAE上,结果访问503错误。关键日志:—————————————————————————————————
org.eclipse.jetty.servlet.ServletHolder$1: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping#0': Initialization of bean failed; nested exception is org.springframework.beans.factory.CannotLoadBeanClassException: Error loading class for bean with name 'wechatController' defined in file : problem with class file or dependent class; nested exception is java.lang.UnsupportedClassVersionError: winpm25/controller/WechatController : Unsupported major.minor version 51.0
Sae使用的JDK版本是1.6,我在本地使用的是JDK1.7,在编辑器中更改 java compiler 版本,重新编译后,打包上传即可。
注意,即使你项目使用的JDK 1.6,但是编译版本如果是1.7,那么仍然会出现这个错误。
major.minor version,它相当于一个软件的主次版本号,只是在这里是标识的一个Java Class的主版本号和次版本号。
不同的JDK版本使用的major.minor不同,所以会导致这个错误。
---------------------------------------------------------------------------------------
另外,部署后请求访问提示:
'<>' operator is not allowed for source level below 1.7
代码中:
List<AirQuality> result=new ArrayList<>();
因为类型推断需要Java 7.还是JDK版本的原因。
页:
[1]