出現(xiàn)java.lang.UnsupportedClassVersionError錯(cuò)誤的原因以及解決方法
主要是代碼編譯時(shí)使用的jdk版本與運(yùn)行時(shí)使用jdk版本不一致導(dǎo)致的。
java build path 中jre是運(yùn)行時(shí)依賴的jdk版本。
java compiler 中是設(shè)置項(xiàng)目編譯的jdk版本。
一般改上面2個(gè)一致了,項(xiàng)目應(yīng)該就不會(huì)報(bào)UnsupportedClassVersionError異常了。
但是,如果項(xiàng)目中還引入了其他的依賴,而該依賴需要的jdk版本和當(dāng)前項(xiàng)目編譯運(yùn)行的jdk版本不兼容,則也會(huì)報(bào)上面的異常。如:
Exception in thread "main" java.lang.UnsupportedClassVersionError: org/springframework/boot/SpringApplication has been compiled by a more recent version of the Java Runtime (class file version 61.0), this version of the Java Runtime only recognizes class file versions up to 52.0 at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:763) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) at java.net.URLClassLoader.defineClass(URLClassLoader.java:467) at java.net.URLClassLoader.access$100(URLClassLoader.java:73) at java.net.URLClassLoader$1.run(URLClassLoader.java:368) at java.net.URLClassLoader$1.run(URLClassLoader.java:362) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:361) at java.lang.ClassLoader.loadClass(ClassLoader.java:424) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331) at java.lang.ClassLoader.loadClass(ClassLoader.java:357) at xpl.p2p.demo.P2pDemoApplication.main(P2pDemoApplication.java:13)
這個(gè)是由于使用spring tool suite 4 創(chuàng)建項(xiàng)目時(shí),自動(dòng)創(chuàng)建的pom.xml依賴的項(xiàng)目使用的jdk版本高于jdk8,即使我在創(chuàng)建項(xiàng)目時(shí)指定了jdk8,但是還是要手動(dòng)修改pom.xml才能修復(fù)UnsupportedClassVersionError異常。
總結(jié)
到此這篇關(guān)于出現(xiàn)java.lang.UnsupportedClassVersionError錯(cuò)誤的原因以及解決方法的文章就介紹到這了,更多相關(guān)java.lang.UnsupportedClassVersionError錯(cuò)誤內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
RestTemplate請(qǐng)求失敗自動(dòng)重啟機(jī)制精講
這篇文章主要為大家介紹了RestTemplate請(qǐng)求失敗自定義處理的方法,自動(dòng)重試的機(jī)制精講,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多所進(jìn)步,早日升職加薪2022-03-03Java對(duì)象簡(jiǎn)單實(shí)用案例之計(jì)算器實(shí)現(xiàn)代碼
這篇文章主要為大家詳細(xì)介紹了Java對(duì)象簡(jiǎn)單實(shí)用案例之計(jì)算器實(shí)現(xiàn)代碼2016-11-11基于SpringBoot實(shí)現(xiàn)防盜鏈功能
防盜鏈?zhǔn)潜Wo(hù)資源服務(wù)器的常用方法,旨在防止未經(jīng)授權(quán)的外部鏈接直接訪問(wèn)服務(wù)器上的資源,如圖片、音頻和視頻文件,在本文中,我們將探討防盜鏈的概念和原理,并結(jié)合 Spring Boot 提供一個(gè)完整的可運(yùn)行示例,需要的朋友可以參考下2024-12-12簡(jiǎn)單了解SpringBoot HATEOAS使用方法
這篇文章主要介紹了簡(jiǎn)單了解SpringBoot HATEOAS使用方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-10-10Java使用默認(rèn)瀏覽器打開(kāi)指定URL的方法(二種方法)
Java使用默認(rèn)瀏覽器打開(kāi)指定URL。2013-10-10