日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

fm核武破解 java出错_java.lang.UnsupportedClassVersionError 错误的原因

發(fā)布時(shí)間:2023/12/14 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 fm核武破解 java出错_java.lang.UnsupportedClassVersionError 错误的原因 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

休假回來上班的第一天,就被同事告之WINDCHILL測試系統(tǒng)升級(jí)失敗需要做系統(tǒng)恢復(fù)。我進(jìn)系統(tǒng)看了下現(xiàn)狀,數(shù)據(jù)庫都已經(jīng)無法啟動(dòng)了,報(bào)日志文件丟失!看來他們不是一般的瞎搞。我做了一下clear logfile的操作,數(shù)據(jù)庫算是起來了。接下來直接恢復(fù)應(yīng)用的文件系統(tǒng)吧。放入備份帶直接恢復(fù)。但我在啟動(dòng)應(yīng)用的時(shí)候,發(fā)現(xiàn)servermanager報(bào)了這樣一個(gè)錯(cuò)誤:

10/13/08 14:24:35: main: *ERROR*: ServerManagerMain abort: java.lang.UnsupportedClassVersionError: wt/manager/jmx

/Hook (Unsupported major.minor version 49.0)

M-PM-GM-FM-ZM-RM-; 10/13/08 14:24:35: main: *ERROR*:??? at java.lang.ClassLoader.defineClass0(Native Method)

M-PM-GM-FM-ZM-RM-; 10/13/08 14:24:35: main: *ERROR*:??? at java.lang.ClassLoader.defineClass(ClassLoader.java:808)

M-PM-GM-FM-ZM-RM-; 10/13/08 14:24:35: main: *ERROR*:??? at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:147)

M-PM-GM-FM-ZM-RM-; 10/13/08 14:24:35: main: *ERROR*:??? at java.net.URLClassLoader.defineClass(URLClassLoader.java:475)

M-PM-GM-FM-ZM-RM-; 10/13/08 14:24:35: main: *ERROR*:??? at java.net.URLClassLoader.access$500(URLClassLoader.java:109)

M-PM-GM-FM-ZM-RM-; 10/13/08 14:24:35: main: *ERROR*:??? at java.net.URLClassLoader$ClassFinder.run(URLClassLoader.java:848)

M-PM-GM-FM-ZM-RM-; 10/13/08 14:24:35: main: *ERROR*:??? at java.security.AccessController.doPrivileged1(Native Method)

M-PM-GM-FM-ZM-RM-; 10/13/08 14:24:35: main: *ERROR*:??? at java.security.AccessController.doPrivileged(AccessController.java:389)

M-PM-GM-FM-ZM-RM-; 10/13/08 14:24:35: main: *ERROR*:??? at java.net.URLClassLoader.findClass(URLClassLoader.java:371)

M-PM-GM-FM-ZM-RM-; 10/13/08 14:24:35: main: *ERROR*:??? at java.lang.ClassLoader.loadClass(ClassLoader.java:570)

M-PM-GM-FM-ZM-RM-; 10/13/08 14:24:35: main: *ERROR*:??? at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:442)

M-PM-GM-FM-ZM-RM-; 10/13/08 14:24:35: main: *ERROR*:??? at java.lang.ClassLoader.loadClass(ClassLoader.java:502)

M-PM-GM-FM-ZM-RM-; 10/13/08 14:24:35: main: *ERROR*:??? at java.lang.Class.forName1(Native Method)

M-PM-GM-FM-ZM-RM-; 10/13/08 14:24:35: main: *ERROR*:??? at java.lang.Class.forName(Class.java:180)

M-PM-GM-FM-ZM-RM-; 10/13/08 14:24:35: main: *ERROR*:??? at wt.manager.ServerTable.(ServerTable.java:60)

M-PM-GM-FM-ZM-RM-; 10/13/08 14:24:35: main: *ERROR*:??? at wt.manager.ServerManagerImpl.(ServerManagerImpl.java:106)

M-PM-GM-FM-ZM-RM-; 10/13/08 14:24:35: main: *ERROR*:??? at wt.manager.ServerManagerMain.run(ServerManagerMain.java:207)

M-PM-GM-FM-ZM-RM-; 10/13/08 14:24:35: main: *ERROR*:??? at wt.manager.ServerManagerMain.main(ServerManagerMain.java:146)

M-PM-GM-FM-ZM-RM-; 10/13/08 14:24:35: main: ServerManager stopped

servermanager停止了,methodserver也就沒有起來。到網(wǎng)上搜了一下這個(gè)錯(cuò)誤。發(fā)現(xiàn)這樣一篇文章,摘錄如下:

因?yàn)?#xff0c;高版本的JDK生成的class文件使用的格式,可能與低版本的JDK的.class文件格式不同。這樣,低版本的JVM無法解釋執(zhí)行這個(gè).class文件,會(huì)拋出java.lang.UnsupportedClassVersionError不支持的Class版本錯(cuò)誤。

這個(gè)錯(cuò)誤尤其在JDK5與JDK5之前的版本上表現(xiàn)明顯。因?yàn)?#xff0c;JDK5在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編輯器可能會(huì)造成你遭遇java.lang.UnsupportedClassVersionError 錯(cuò)誤。

比如,Eclipse3.2+MyEclipse5.0這個(gè)新版的IDE工具。進(jìn)入首選項(xiàng)---Java---編譯器,可以看到,默認(rèn)的編譯器依從等級(jí)是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也是可以的。但是,絕對(duì)不能夠使用jdk5編譯程序,而又在jdk1.4上運(yùn)行程序,那樣將會(huì)拋出java.lang.UnsupportedClassVersionError不支持的Class版本錯(cuò)誤。

這種情況下,不論是Eclipse生成的war包,還是ant文件生成war包,都使用jdk5編譯,就會(huì)在運(yùn)行時(shí)出現(xiàn)錯(cuò)誤,該應(yīng)用程序?qū)o法啟動(dòng)。如果你查看Tomcat的日志文件,將會(huì)看到正是java.lang.UnsupportedClassVersionError錯(cuò)誤發(fā)生了!

看來是版本之間的問題。但是我已經(jīng)恢復(fù)了啊,應(yīng)該沒有這樣的問題。后來仔細(xì)想想發(fā)現(xiàn)問題所在。我直接恢復(fù)文件系統(tǒng)下所有的目錄和文件,同名的文件會(huì)被覆蓋,這點(diǎn)是對(duì)的。但升級(jí)過程中新增加的一些文件還繼續(xù)存在,正是這些新增的文件導(dǎo)致了版本的問題。我可以先刪除或通過MV的方法來使這些目錄完全失效,然后再進(jìn)行恢復(fù)。這樣一試果然可以。應(yīng)用啟動(dòng)一切正常。

總結(jié)

以上是生活随笔為你收集整理的fm核武破解 java出错_java.lang.UnsupportedClassVersionError 错误的原因的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。