Исключение в потоке "main" java.lang.UnsupportedClassVersionError: a (Неподдерживаемая major.minor версия 51.0)
Возможный дубликат:
неподдерживаемая основная версия.minor 51.0
Я установил JDK7, простая программа hello word компилируется, но когда я запускаю ее, я получаю следующее исключение.
Exception in thread "main" java.lang.UnsupportedClassVersionError: a (Unsupported major.minor version 51.0)
at java.lang.ClassLoader.defineClass0(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.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 java.lang.ClassLoader.loadClassInternal(Unknown Source)
Я проверил java -version
в командной строке он показывает версию Java 1.4.2_03, но когда я пытался установить новую версию java с сайта java.com, он говорит, что я рекомендовал версию Java 7.
5 ответов
Скопируйте содержимое настроек PATH в блокнот и проверьте, находится ли местоположение для 1.4.2 раньше, чем у 7. Если это так, удалите путь к 1.4.2 в настройке PATH и сохраните его.
После сохранения и применения "Переменные среды" закройте и снова откройте строку cmd. В XP путь не отражается в уже запущенных программах.
Пытаться sudo update-alternatives --config java
из командной строки, чтобы установить версию JRE, которую вы хотите использовать. Это должно это исправить.
Предполагая, что вы используете Eclipse, на MAC вы можете:
- запуск
Eclipse.app
- выберите
Eclipse -> Preferences
- выберите
Java -> Installed JREs
- Нажмите на
Add...
кнопка - выберите
MacOS X VM
как тип JRE. Нажмите "Далее. - В поле "JRE Home:" введите
/Library/Java/JavaVirtualMachines/1.7.0.jdk/Contents/Home
- Вы должны увидеть системные библиотеки в списке под названием "Системные библиотеки JRE:"
- Дайте JRE имя. Рекомендуемое имя
JDK 1.7
, Нажмите Готово. - Установите флажок рядом с записью JRE, которую вы только что создали. Это заставит Eclipse использовать его в качестве JRE по умолчанию для всех новых проектов Java. Нажмите ОК.
- Теперь создайте новый проект. Для этой проверки в меню выберите
File -> New -> Java Project
, - В появившемся диалоговом окне введите новое имя для вашего проекта. Для этой проверки введите Test17Project
- В разделе JRE диалогового окна выберите
Use default JRE (currently JDK 1.7)
- Нажмите Готово.
Надеюсь это поможет
У меня была эта проблема, после установки jdk7 рядом с Java 6. Двоичные файлы были корректно обновлены с помощью update-alternatives --config java
до jdk7, но $JAVA_HOME
Переменная окружения по-прежнему указывает на старый каталог Java 6.
Похоже, вам нужно изменить путь к вашему java
исполняемый файл, чтобы соответствовать новейшей версии. По сути, установка последней версии Java не обязательно означает, что ваш компьютер настроен на использование последней версии. Вы не упомянули никаких подробностей платформы, так что это все, что я могу сказать.