我有在JDK 1.8上編譯的代碼。我創建了war文件並將其部署在運行JRE 1.8的Ubuntu服務器中的Tomcat8上。 我打開主頁時,這個錯誤:不受支持的major.minor版本52.0錯誤
java.lang.UnsupportedClassVersionError: com/dash/io/web/bind/HomeCtrl : Unsupported major.minor version 52.0
$ java -versionjava version "1.8.0_45"
Java(TM) SE Runtime Environment (build 1.8.0_45-b14)
Java HotSpot(TM) 64-Bit Server VM (build 25.45-b02, mixed mode)
$ javac -version
javac 1.8.0_45
$ echo $JRE_HOME
/usr/local/java/jdk1.8.0_45/jre
$ /usr/local/apache-tomcat-8.0.22/bin/catalina.sh version
Using CATALINA_BASE: /usr/local/apache-tomcat-8.0.22
Using CATALINA_HOME: /usr/local/apache-tomcat-8.0.22
Using CATALINA_TMPDIR: /usr/local/apache-tomcat-8.0.22/temp
Using JRE_HOME: /usr/local/java/jdk1.8.0_45/jre
Using CLASSPATH: /usr/local/apache-tomcat-8.0.22/bin/bootstrap.jar:/usr/local/apache-tomcat-8.0.22/bin/tomcat-juli.jar
Server version: Apache Tomcat/8.0.22
Server built: Apr 29 2015 11:46:15 UTC
Server number: 8.0.22.0
OS Name: Linux
OS Version: 3.13.0-52-generic
Architecture: amd64
JVM Version: 1.8.0_45-b14
JVM Vendor: Oracle Corporation
需要幫助。謝謝。
我有這個想法是關閉所有錯誤的原因重複的問題。你不是在問這個錯誤的含義,而是爲什麼即使你正在使用Java 8運行時也能得到它,對嗎? – Gimby
是的,你是正確的Gimby。通常,當使用JDK1.8編譯代碼並使用JRE 1.7運行時會發生此錯誤。但在我的情況下,我使用了JRE1.8。我在其他線程找不到解決方案。謝謝。 –
雖然它可能很難接受,但它很簡單:如果發生錯誤,您不會通過Java 8運行Tomcat。讓我確切地說:我認爲/usr/local/java/jdk1.8.0_45/jre實際上是通過一些黑魔法實現的Java 7運行時。嘗試直接在其bin目錄中運行java -version來驗證。 – Gimby