Java.lang.UnsupportedClassVersionError пытается запустить Jena ARQ, чтобы следовать книге O'Reilly SPARQL

Я пытаюсь получить Jena ARQ, как это предлагается в книге O'Reilly SPARQL 1.1, поэтому я могу следовать примерам запросов в книге. Я скачал apache-jena-.4.0.zip с сайта jena.apache.org/download/index.cgi и выполнил инструкции по извлечению и установке переменных окружения JENA_HOME и PATH.

Когда я запускаю ARQ.bat из терминала Windows cmd, я получаю

Error: A JNI error has occurred, please check your installation and try again
Exception in thread "main" java.lang.UnsupportedClassVersionError: arq/arq has been 
compiled by a more recent version of the Java Runtime (class file version 55.0), 
this version of the Java Runtime only recognizes class file versions up to 52.0

Чтение справки по этому сообщению об ошибке на этом форуме и в других местах предлагает либо перекомпилировать класс (я не могу этого сделать), либо обновить среду выполнения Java. Поэтому я удалил и переустановил 64-разрядную версию Java JRE для Windows. от https://www.java.com/en/download/ 64-битная Java для Windows Дата выхода: 18 января 2022 г.

и перезагрузил машину.

Запуск java -version из командной строки дает мне

Java(TM) SE Runtime Environment (build 1.8.0_321-b07)
Java HotSpot(TM) 64-Bit Server VM (build 25.321-b07, mixed mode)

Однако java.lang.UnsupportedClassVersionError сохраняется

Любые идеи, пожалуйста? Или любой другой простой способ выполнения файла запроса SPARQL для локального файла данных, чтобы я мог следовать книге SPARQL?

для последней версии Jena 4.4.0 требуется Java 11, проверьте версию Java в Windows

UninformedUser 19.03.2022 19:11
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
1
22
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Версия файла класса 55.0 эквивалентна Java 11 (можно увидеть, например, здесь). Однако версия Java, которую вы устанавливаете с java.com, — это Java 8. Поэтому вам необходимо использовать как минимум Java 11, но более новые версии (например, Java 17) также могут работать.

Вы можете получить более новые версии Oracle JDK здесь или использовать сборки Open JDK, например, из здесь. См., например, этот вопрос для различий между Oracle JDK и Open JDK.

Я загрузил последнюю версию Oracle JDK, как вы предложили из oracle.com/java/технологии/загрузки, и она сразу заработала.

Joe Fagan 19.03.2022 22:07

Другие вопросы по теме