我在Tomcat 8服務器上部署Spring應用程序。該應用程序使用此maven repository的Jena API。當我打開瀏覽器的應用程序,它顯示了以下消息(相同的應用程序可以在沒有的時候我不使用耶拿API的任何問題打開):在Tomcat上運行Jena API的java.lang.UnsupportedClassVersionError 8
HTTP Status 500 - Handler processing failed; nested exception is java.lang.UnsupportedClassVersionError: org/apache/jena/query/QueryExecutionFactory : Unsupported major.minor version 52.0 (unable to load class org.apache.jena.query.QueryExecutionFactory)
我試圖改變的版本來解決這個問題Java的爲Tomcat 8.我打開sudo nano /etc/init/tomcat.conf
,改變JAVA_HOME:
env JAVA_HOME=/usr/lib/jvm/java-8-oracle/jre
然後我重新啓動Tomcat的8服務器和重新部署我的應用程序,但同樣的問題依然存在。其實我注意到,由於某種原因,啓動服務器時JRE 7出現在日誌消息:
May 07, 2016 5:26:11 PM org.apache.catalina.startup.VersionLoggerListener log INFO: Java Home: /usr/lib/jvm/java-7-oracle/jre May 07, 2016 5:26:11 PM org.apache.catalina.startup.VersionLoggerListener log INFO: JVM Version: 1.7.0_80-b15 May 07, 2016 5:26:11 PM org.apache.catalina.startup.VersionLoggerListener log INFO: JVM Vendor: Oracle Corporation
我不知道這可能是爲什麼這個問題是不固定的一個可能的原因。任何解決方案,高度讚賞。
P.S.我知道java.lang.UnsupportedClassVersionError
是因爲在編譯期間JDK較高而JDK在運行時較低。那麼,我是否正確理解Jena API是使用較低的JDK編譯的?
請確認使用:'回聲$ JAVA_HOME' –
@victor索薩:'/ usr/lib中/ JVM/JAVA-8的OpenJDK-amd64' – Klue
哪個Linux?檢查initscript – Marged