0

Когда, компилирую .java файл, всё нормально. Когда запускаю скомпилированный .class файл, то выводится ошибка:

Error: A JNI error has occurred, please check your installation and try again
Exception in thread "main" java.lang.UnsupportedClassVersionError: A has been compiled by a more recent version of the Java Runtime (class file version 58.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)

В jre:

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)

В jdk:

java version "14.0.1" 2020-04-14
Java(TM) SE Runtime Environment (build 14.0.1+7)
Java HotSpot(TM) 64-Bit Server VM (build 14.0.1+7, mixed mode, sharing)

Скачал последние версии jdk и jre, но проблема всё ещё присутствует.

2 Answers2

3

Возможны три варианта решения:

  1. Если вы не используете в коде возможности, появившиеся после Java 8, то при компиляции можно указать ключи -source 8 и -target 8, тогда JRE 8 сможет запускать программу.
  2. Если используете новые функции, то придётся запускать с помощью JRE входящего в JDK. Для этого нужно указать полный путь к исполняемому файлу java в подкаталоге bin каталога JDK.
  3. Либо собирать программу вместе с JRE с помощью jlink. Как это сделать, можно прочитать в этом ответе.
0

Мне помогло File - Project Structure = 8 - Lambdas, type annotations etc после этого .jar файл стал открываться без проблем

EFRD
  • 33
  • 7