java.lang.UnsupportedClassVersionError:JDK版本不一致出錯

嘗試運行spring boot程序時出現如下錯誤:

java.lang.UnsupportedClassVersionError: org/apache/lucene/store/Directory : Unsupported major.minor version 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 sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
 at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
Exception in thread "main"


導致錯誤的原因是使用高版本的JDK編譯的Java class文件試圖在較低版本的JVM上運行。

本地JDK版本爲1.8,而項目中JDK版本爲1.6.由於使用spring boot內置tomcat,其對應也爲1.6版本JDK。從而報以上錯誤


解決方法:

maven項目可以在pom.xml文件中修改JDK版本:


非maven項目需要手動添加對應版本JDK,方法見http://www.cnblogs.com/xing901022/p/4172410.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章