Это не дубликат!Поэтому я создал JAR-файл и с манифестом, указывающим основной класс.Но когда я пытаюсь запустить его с
java -jar app.jar
В моем CMD выводится сообщение: «Ошибка: произошла ошибка JNI, проверьтеустановка и попробуйте снова. Исключение в потоке "main" java.lang.UnsupportedClassVersionError: Еда была скомпилирована более поздней версией java runtime (55), эта версия java runtime распознает версии до 52 "
Странно то, что я могу компилировать и запускать программы Java и классы в CMD.Но я не могу запустить файлы JAR.
У меня есть jdk1.8.0_201 и jre1.8.0_201.Что я почти уверен, что это последний.По крайней мере, потому что, когда я открываю программу «Настройка Java» и перехожу на вкладку «Обновление» и нажимаю «Обновить сейчас», он говорит: «У вас уже установлена последняя версия платформы Java в этой системе. Разве я не должен поддерживать версии jre и jdk равными?
Также я хотел бы получить некоторые разъяснения о числах этих jre и jdk. Сначала в моих переменных окружения все, что у меня есть, это jdk 1.8 и jre 1.8, как и выше, так как я могу сказать, что у меня естьболее свежая версия?
Итак, согласно этому сообщению, Как исправить ошибку java.lang.UnsupportedClassVersionError: Неподдерживаемая версия major.minor
, если у меня версия 52, котораяJava SE 8.0, почему при установке jdk написано 1.8.0_201, а не 8.0? Это тот же вопрос, почему Microsoft пропустила Microsoft 9 ...
И да, у меня есть Java 11 (55), но это даже не такв окружающих переменных.
И я искал java SE 9,10,11,12 и 13, и они даже не существуют. Я не могу найти этот JRE. Это просто так сбивает с толку.
Такжекогда я просто пытаюсьчтобы скомпилировать мою программу (которая имеет HashMap, но я уточнил типы в конце), она говорит:
Food.java uses unchecked or unsafe operations
Note: Recompile with -Xlint:unchecked for details
https://pastebin.com/Vw2UerDG
и я думаю, что проблема заключается в методе put (), но мне не имеет смысла, какая операция put небезопасна.Это просто не похоже ... Спасибо