Exception in thread main java.lang.UnsupportedClassVersionError的另类解决办法
最近在Linux虛擬機(jī)上跑在windows平臺(tái)上的eclipes打出來(lái)的jar包時(shí)報(bào)出Exception in thread “main” java.lang.UnsupportedClassVersionError的錯(cuò)誤:
經(jīng)過(guò)上網(wǎng)查詢了解到是因?yàn)樽约篧indows使用的是jdk1.8版本,而Linux使用的是jdk1.7版本,所以造成這樣的報(bào)錯(cuò)。看了網(wǎng)上的一些方法,但是無(wú)意中自己找到了一個(gè)“另類的方法”:不需要在windows平臺(tái)上下載jdk1.7,也能讓Linux運(yùn)行在windows平臺(tái)jdk1.8版本打成的jar包。
具體的過(guò)程是這樣的:
由于我這里有個(gè)用eclipes項(xiàng)目(關(guān)聯(lián)的jdk版本為1.7),但是我導(dǎo)入到自己的eclipes后,這里雖然標(biāo)題顯示是jdk1.7,但是引用的確是jre1.8的lib。
然后將生成的jar包放入Linux中就能夠運(yùn)行:
總結(jié):在這里是不是就可以說(shuō),Linux在編譯windows打好的jar包的時(shí)候,相關(guān)代碼邏輯只是對(duì)jdk版本號(hào)的進(jìn)行了對(duì)比。那我們就可以只用假冒下jdk的版本號(hào)就能實(shí)現(xiàn)jdk不同版本的跨平臺(tái)解析。當(dāng)然前提是解析jar包時(shí)用到的一些東西在兩個(gè)jdk版本中內(nèi)容必須保持一致,解析過(guò)程才可以順利的進(jìn)行。
不知道這樣理解是否正確?希望大家給些指點(diǎn)。
總結(jié)
以上是生活随笔為你收集整理的Exception in thread main java.lang.UnsupportedClassVersionError的另类解决办法的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 中端存储如何摆脱“创新的窘境”
- 下一篇: python中的shutil模块