В моем университете мы учимся писать RMI-приложения.Когда я впервые попытался запустить пример приложения в Eclipse 2019-03, я столкнулся с ошибкой: java.lang.UnsupportedClassVersionError. Я успешно запустил другие проекты (не RMI) без проблем.
Когда я запускаю
java -version
Я получаю:
openjdk version "11.0.3" 2019-04-16
OpenJDK Runtime Environment (build 11.0.3+7-Ubuntu-1ubuntu218.04.1)
OpenJDK 64-Bit Server VM (build 11.0.3+7-Ubuntu-1ubuntu218.04.1, mixed mode, sharing)
и
javac -version
Я получаю:
javac 11.0.3
В моей системе установлены Java 8 и 11Ubuntu 18.04.При поиске решения проблемы я нашел следующий вопрос: Как исправить ошибку java.lang.UnsupportedClassVersionError: Неподдерживаемая версия major.minor
Изменение настроек уровня компиляции в Eclipseдо 1,8 сделал И изменение конкретных настроек проекта мне помогло, и я смог, наконец, запустить приложение без каких-либо ошибок.Это решение меня не удовлетворяет.
Когда я запускаю
update-alternatives --config java
и
update-alternatives --config javac
, в обоих случаях выбирается openjdk11.Я не понимаю, почему я получаю сообщение об ошибке, если я не изменяю настройки компилятора.
В одном из ответов предлагается неверно установить $ JAVA_HOME varable.Когда я запускаю:
jrunscript -e 'java.lang.System.out.println(java.lang.System.getProperty("java.home"));'
Это действительно дает мне ответ
/usr/lib/jvm/java-8-openjdk-amd64/jre
Я пытался следовать этому руководству, чтобы изменить его на openjdk11: https://askubuntu.com/questions/175514/how-to-set-java-home-for-java Когда я сейчас запускаю
echo $JAVA_HOME
Я получаю:
/usr/lib/jvm/java-11-openjdk-amd64
, но когда я снова запускаю
jrunscript -e 'java.lang.System.out.println(java.lang.System.getProperty("java.home"));'
, ответ остается прежним.
Я хочубыть в состоянии использовать мой openjdk 11 для компиляции и запуска кода без изменения настроек компилятора в Eclipse.У кого-нибудь была такая же проблема и совет для меня?Заранее спасибо!
Полная ошибка следующая:
java.lang.UnsupportedClassVersionError: chapter6/Counter 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