Ich bin Spring-Anwendung auf Tomcat 8 Server bereitstellen. Die Anwendung verwendet Jena API von dieser maven repository. Wenn ich die Anwendung in Browser öffnen, zeigt es die folgende Meldung (die gleiche Anwendung kann ohne Probleme geöffnet werden, wenn ich Jena API nicht wichtig):java.lang.UnsupportedClassVersionError zum Ausführen von Jena API auf Tomcat 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)
ich durch Änderung der Version dieses Problem zu lösen versuchte, Java für Tomcat 8. öffnete ich sudo nano /etc/init/tomcat.conf
und geändert JAVA_HOME:
env JAVA_HOME=/usr/lib/jvm/java-8-oracle/jre
Dann neu gestartet ich Tomcat 8 Server und meine Anwendung umgeschichtet, aber das gleiche Problem weiterhin besteht. In der Tat bemerkte ich, dass aus irgendeinem Grunde JRE 7 in der Protokollmeldung erscheint, wenn Sie den Server starten:
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
Ich bin nicht sicher, ob dies könnte ein möglicher Grund sein, warum ist das Problem nicht behoben. Jede Lösung wird sehr geschätzt.
P.S. Ich weiß, dass java.lang.UnsupportedClassVersionError
aufgrund eines höheren JDK während der Kompilierungszeit und niedriger JDK während der Laufzeit passiert. Also, verstehe ich richtig, dass Jena API mit niedrigeren JDK kompiliert wurde?
bitte bestätigen Sie mit: 'echo $ JAVA_HOME' –
@victor sosa:'/usr/lib/jvm/java-8-openjdk-amd64' – Klue
Welche Linux? Überprüfen Sie das Initskript – Marged