javaweb運(yùn)行報(bào)錯(cuò):has been compiled by a more recent version of the java runtime (class file version 55.0)
報(bào)錯(cuò)信息:
exception in thread "main" java.lang.unsupportedclassversionerror: pers/cyz/bookmanage has been compiled by a more recent version of the java runtime (class file version 54.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(unknown source)
at java.security.secureclassloader.defineclass(unknown source)
at java.net.urlclassloader.defineclass(unknown source)
at java.net.urlclassloader.access$100(unknown source)
at java.net.urlclassloader$1.run(unknown source)
at java.net.urlclassloader$1.run(unknown source)
at java.security.accesscontroller.doprivileged(native method)
at java.net.urlclassloader.findclass(unknown source)
at java.lang.classloader.loadclass(unknown source)
at sun.misc.launcher$appclassloader.loadclass(unknown source)
at java.lang.classloader.loadclass(unknown source)
at sun.launcher.launcherhelper.checkandloadmain(unknown source)
解決辦法:
在項(xiàng)目的屬性里設(shè)置jdk版本,方法是右擊項(xiàng)目-->properties-->java compiler --> enable project specific settings -->將compiler compliance level設(shè)置為1.8,也就是與jvm一致的版本
一般這樣的錯(cuò)誤都是因?yàn)楫?dāng)前的jre不能對(duì)程序進(jìn)行編譯,tomcat的版本高于jdk的版本導(dǎo)致的,當(dāng)前運(yùn)行的jdk是1.8而我用的tomcat版本是tomcat 9所以就會(huì)出現(xiàn)這個(gè)問題。
解決方法:
要么降低tomcat的版本號(hào),要么用更高的版本的jre。
這里我選擇使用高版本的jre:
重啟服務(wù)器再次運(yùn)行項(xiàng)目,問題解決。
eclipse運(yùn)行java代碼出現(xiàn)原因很多,具體問題具體分析。
解決方案:
如果是web項(xiàng)目,不要在打開的文件上右擊,要到項(xiàng)目路徑上去右擊”run as“,之后選擇“server”。
如果是mian方法項(xiàng)目,需要找到帶有main方法的類,之后打開這個(gè)類,之后“run as”,之后選擇“java applet”即可。
到此這篇關(guān)于java 運(yùn)行報(bào)錯(cuò)has been compiled by a more recent version of the java runtime的文章就介紹到這了,更多相關(guān)java has been compiled by a more recent version內(nèi)容請(qǐng)搜索服務(wù)器之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持服務(wù)器之家!
原文鏈接:https://blog.csdn.net/qq_35793285/article/details/85775627