Как обновить мою Java среду выполнения - PullRequest
0 голосов
/ 27 мая 2020

Недавно я создал .jar для программы, написанной с использованием JDK 14.0.1, и я пытаюсь запустить ее, но все время получаю сообщение об ошибке, в котором говорится, что .jar был скомпилирован в версии файла 55, и Моя текущая Java среда выполнения "распознает только версии файлов классов до 52.0"

Я пробовал обновить Java через панель управления и обновил JAVA_HOME и системные пути до 14.0.1, но даже после перезагрузки компьютера моя версия java и Java SE Runtime Environment все еще находятся на 1.8.

(пожалуйста, не обращайте внимания на имя пользователя, я придумал его в средней школе)

C:\Users\Dudenugget123>java -version
java version "1.8.0_251"
Java(TM) SE Runtime Environment (build 1.8.0_251-b08)
Java HotSpot(TM) 64-Bit Server VM (build 25.251-b08, mixed mode)

C:\Users\Dudenugget123>javac -version
javac 14.0.1

C:\Users\Dudenugget123\Desktop\BlueJ Programs\ThreeCombos>java -jar ThreeCombos.jar
Error: A JNI error has occurred, please check your installation and try again
Exception in thread "main" java.lang.UnsupportedClassVersionError: ThreeCombos 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
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClass(Unknown Source)
        at java.security.SecureClassLoader.defineClass(Unknown Source)
        at java.net.URLClassLoader.defineClass(Unknown Source)
        at java.net.URLClassLoader.access$100(Unknown Source)
        at java.net.URLClassLoader$1.run(Unknown Source)
        at java.net.URLClassLoader$1.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at sun.launcher.LauncherHelper.checkAndLoadMain(Unknown Source)

1 Ответ

1 голос
/ 27 мая 2020

Проверьте переменную окружения% PATH%, вероятно, она содержит путь к вашей старой JRE. Удалите это и вставьте путь к вашей новой JRE.

% PATH% определяет, куда смотрит ваша операционная система, когда вы пытаетесь запустить программу без указания полного пути. % JAVA_HOME% используется набором инструментов Java -specifi c, например ant, но не имеет значения для вашей операционной системы или командной строки.

...