Я развертываю приложение Spring на сервере Tomcat 8. Приложение использует API Jena из этого maven repository. Когда я открываю приложение в браузере, она показывает следующее сообщение (то же приложение может быть открыто без каких-либо проблем, когда я не использую Jena API):java.lang.UnsupportedClassVersionError для запуска Jena API на 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)
Я попытался решить эту проблему, изменив версию 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/Библиотека/JVM/Java-8-OpenJDK-amd64' – Klue
Какой Linux? Проверьте initscript – Marged