2015-06-10 82 views
4

我有在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 

需要幫助。謝謝。

+0

我有這個想法是關閉所有錯誤的原因重複的問題。你不是在問這個錯誤的含義,而是爲什麼即使你正在使用Java 8運行時也能得到它,對嗎? – Gimby

+0

是的,你是正確的Gimby。通常,當使用JDK1.8編譯代碼並使用JRE 1.7運行時會發生此錯誤。但在我的情況下,我使用了JRE1.8。我在其他線程找不到解決方案。謝謝。 –

+0

雖然它可能很難接受,但它很簡單:如果發生錯誤,您不會通過Java 8運行Tomcat。讓我確切地說:我認爲/usr/local/java/jdk1.8.0_45/jre實際上是通過一些黑魔法實現的Java 7運行時。嘗試直接在其bin目錄中運行java -version來驗證。 – Gimby

回答

相關問題