天天看點

新浪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 [winpm25.controller.wechatcontroller] for bean with name 'wechatcontroller' defined in file [/data1/jetty_work/919/winpm25/jetty-0.0.0.0-13126-winpm25.war-_2_winpm25-any-/webapp/web-inf/classes/winpm25/controller/wechatcontroller.class]: 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不同,是以會導緻這個錯誤。