Не могу запустить мою программу Java .exe.Как мне устранить это?(«Произошло исключение Java») и проблема JNI - PullRequest
0 голосов
/ 24 мая 2019

Моя проблема в том, что я создал приложение Java, которое я экспортировал в .jar, если я открываю его в .jar, оно работает отлично, но я хотел бы сделать его приложением .exe, поэтому я попробовал launch4j, но если я попробуючтобы использовать созданный файл .exe, я получаю «Ошибка, произошла ошибка JNI, проверьте вашу установку и т. д.» и «Произошло исключение Java», также я не знаю, полезно ли это, но пытаюсь ли я проверитьОболочка в Launch4j Я получаю те же сообщения, и это в журнале:

Executing:C:\Users\edena\Documents\CGen.exe
Exception in thread "main" java.lang.UnsupportedClassVersionError: CodeGenerator 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)

Я уже пытался увидеть, была ли проблема в моей версии Java, но он говорит, что это последняя.Кроме того, я попытался удалить метаданные в Eclipse и повторил процесс, но это не сработало

Ответы [ 2 ]

1 голос
/ 24 мая 2019

Вы пытаетесь выполнить класс, который был скомпилирован с JDK 11 с JRE 8.

Вы можете указать целевую версию 8 при компиляции классов или установить минимальную версию в конфигурации launch4j:

  <jre>
    ...
    <minVersion>11</minVersion>
    ...
  </jre>
0 голосов
/ 27 мая 2019

(Опубликовано от имени автора вопроса) .

Я узнал, как заставить это работать.Я вошел в мою среду разработки (Eclipse) и щелкнул правой кнопкой мыши по моему проекту, затем Свойства> Компилятор Java, затем снял флажок «Использовать соответствие из среды выполнения« JAVA SE-11 »в« Java BuildPath ». Затем я установил уровень соответствия компилятора на 1.4..

...