出現(xiàn)java.lang.UnsupportedClassVersionError 錯(cuò)誤的原因,是因?yàn)槲覀兪褂酶甙姹镜腏DK編譯的Java class文件試圖在較低版本的JVM上運(yùn)行,所報(bào)的錯(cuò)誤。

讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來自于我們對這個(gè)行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價(jià)值的長期合作伙伴,公司提供的服務(wù)項(xiàng)目有:域名與空間、網(wǎng)頁空間、營銷軟件、網(wǎng)站建設(shè)、定結(jié)網(wǎng)站維護(hù)、網(wǎng)站推廣。
因?yàn)椋甙姹镜腏DK生成的class文件使用的格式,可能與低版本的JDK的.class文件格式不同。這樣,低版本的JVM無法解釋執(zhí)行這個(gè).class文件,會拋出java.lang.UnsupportedClassVersionError不支持的Class版本錯(cuò)誤。
這個(gè)錯(cuò)誤尤其在JDK5與JDK5之前的版本上表現(xiàn)明顯。因?yàn)椋琂DK5在Java語法上作了不少增強(qiáng),引入了一些新的.class文件的元素,導(dǎo)致舊版本的JVM無法解釋、執(zhí)行.class文件。即使這個(gè)類并沒有使用任何JDK5的新元素,但是JDK5生成的.class文件,JDK1.4及其以前的JVM都無法辨認(rèn)!
所以,目前使用最廣的,還是JDK1.4。很多軟件和項(xiàng)目都無法使用JDK5。
有一個(gè)名叫 Toby Reyelts 的開發(fā)人員決定消除 JDK 5.0 編譯器限制。結(jié)果就是開放源代碼的 Retroweaver 項(xiàng)目。Retroweaver 使用 classworking 技術(shù)來修改由 JDK 5.0 編譯器生成的二進(jìn)制類表示,以便這些類可以與早期的 JVM 一起使用。
它通過修改JDK5生成的.class文件,將其變?yōu)镴VM1.4及之前版本能夠運(yùn)行的.class文件。
目前,使用新版本的IDE編輯器可能會造成你遭遇java.lang.UnsupportedClassVersionError 錯(cuò)誤。
比如,Eclipse3.2+MyEclipse5.0這個(gè)新版的IDE工具。進(jìn)入首選項(xiàng)---Java---編譯器,可以看到,默認(rèn)的編譯器依從等級是5.0,這里改為1.4,因?yàn)槲覀兪褂玫能浖枰\(yùn)行在JDK1.4的JVM上。
同一配置區(qū)下的已安裝JRE中,不要安裝JRE,而是安裝JDK,指定1.4或1.5的JDK。還是使用jdk1.4。
在MyEclipse----應(yīng)用服務(wù)器下,指定Tomcat5。指定Tomcat使用jdk1.4。
這樣,就全部指定使用Jdk1.4來編譯和運(yùn)行程序了。如果全部指定jdk5也是可以的。但是,絕對不能夠使用jdk5編譯程序,而又在jdk1.4上運(yùn)行程序,那樣將會拋出java.lang.UnsupportedClassVersionError不支持的Class版本錯(cuò)誤。
這種情況下,不論是Eclipse生成的war包,還是ant文件生成war包,都使用jdk5編譯,就會在運(yùn)行時(shí)出現(xiàn)錯(cuò)誤,該應(yīng)用程序?qū)o法啟動(dòng)。如果你查看Tomcat的日志文件,將會看到正是java.lang.UnsupportedClassVersionError錯(cuò)誤發(fā)生了!
?
當(dāng)前標(biāo)題:出現(xiàn)java.lang.UnsupportedClassVersionError錯(cuò)誤的原因
網(wǎng)頁路徑:http://www.chinadenli.net/article36/gshppg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供電子商務(wù)、網(wǎng)站建設(shè)、定制開發(fā)、商城網(wǎng)站、搜索引擎優(yōu)化、微信小程序
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)