Я пытался понять, почему моя установка OpenJDK 11 не может запускать файлы JAR, скомпилированные на уровне класса 55. Я даже зашел так далеко, что полностью удалил Java из моей системы и переустановил. Я использую Ubuntu 18.04.1 LTS. Вот мои шаги по установке OpenJDK 11:
sudo apt-get install openjdk-11-jdk-headless
После установки моя версия показывает следующее:
Райан @ Аурелиус : ~ $ java -version
openjdk версия "10.0.2" 17.07.2018
Среда выполнения OpenJDK (сборка 10.0.2 + 13-Ubuntu-1ubuntu0.18.04.4)
64-разрядная серверная виртуальная машина OpenJDK (сборка 10.0.2 + 13-Ubuntu-1ubuntu0.18.04.4, смешанный режим)
И если я попытаюсь запустить файл JAR, скомпилированный с той же версией Java, я получу следующее:
Райан @ Аурелиус : ~ / jade $ java -jar jade-launcher-jar-with-dependencies.jar -i
Ошибка: LinkageError произошла при загрузке основного класса com.vicinityconcepts.jade.launcher.JadeOrbitBootstrap
java.lang.UnsupportedClassVersionError: com / nearconcepts / jade / launcher / JadeOrbitBootstrap был скомпилирован более поздней версией среды выполнения Java (версия файла класса 55.0), эта версия среды выполнения Java распознает только версии файлов классов до 54.0
Что я делаю не так?
РЕШЕНИЕ
Как указано в комментариях, похоже, проблема с пакетами OpenJDK в Ubuntu 18.04. После обновления до 18.10 пакет содержит правильную версию JDK.
Как указано в комментариях, похоже, проблема с пакетами OpenJDK в Ubuntu 18.04. После обновления до 18.10 пакет содержит правильную версию JDK.
.