Как да поправите java.lang.UnsupportedClassVersionError: Неподдържана major.minor версия
Опитвам се да използвам Notepad++ като универсален инструмент за редактиране, стартиране, компилиране и т.н.
Имам инсталиран JRE и съм настроил променливата си за пътя към директорията .../bin
.
Когато стартирам моя "Hello world" в Notepad++, получавам следното съобщение:
java.lang.UnsupportedClassVersionError: test_hello_world :
Unsupported major.minor version 51.0
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClassCond(Unknown Source)
.........................................
Мисля, че проблемът тук е свързан с версиите; някои версии на Java може да са стари или твърде нови.
- Как да го поправя?
- Трябва ли да инсталирам JDK и да настроя променливата си за пътя към JDK вместо към JRE?
- Каква е разликата между променливата
PATH
в JRE или JDK?
1530
3
Показаният номер на версията описва версията на JRE, с която е съвместим файлът на класа.
Посочените основни номера са:
(Източник: Уикипедия)
За да отстраните действителния проблем, трябва да опитате да стартирате кода на Java с по-нова версия на Java JRE или да зададете параметъра target на компилатора на Java, за да инструктирате компилатора да създаде код, съвместим с по-ранни версии на Java.
Например, за да генерирате класови файлове, съвместими с Java 1.4, използвайте следния команден ред:
При по-новите версии на компилатора на Java е възможно да получите предупреждение за това, че пътят на bootstrap класа не е зададен. Повече информация за тази грешка можете да намерите в публикация в блога Ново предупреждение на javac за задаване на по-стар източник без bootclasspath.
java.lang.UnsupportedClassVersionError
се случва поради по-висока версия на JDK по време на компилиране и по-ниска версия на JDK по време на изпълнение.Не се притеснявайте, реших проблема.
Всъщност е просто - трябва да инсталирате ДВА JRE / JDK с една и съща версия.
JRE 6 -> JDK 6
JRE 7 -> JDK 7
И така нататък.