Исключение в потоке "main" java.lang.UnsupportedClassVersionError: a (Unsupported major.minor version 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.

Ответ 1

Скопируйте содержимое настроек PATH в блокнот и проверьте, не находится ли место для 1.4.2 до положения 7. Если это так, удалите путь к 1.4.2 в настройке PATH и сохраните его.

После сохранения и применения "переменных среды" закройте и снова откройте строку cmd. В XP путь не находит отражения в уже запущенных программах.

Ответ 2

Попробуйте sudo update-alternatives --config java из командной строки, чтобы установить версию JRE, которую вы хотите использовать. Это должно исправить это.

Ответ 3

Предполагая, что вы используете 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)
  • Нажмите "Готово".

Надеюсь, что это поможет

Ответ 4

У меня возникла эта проблема после установки jdk7 рядом с Java 6. Бинарные файлы были правильно обновлены с использованием update-alternatives --config java до jdk7, но переменная среды $JAVA_HOME все еще указывала на старый каталог Java 6.

Ответ 5

Похоже, вам нужно изменить путь к исполняемому файлу java, чтобы он соответствовал самой новой версии. По сути, установка последней Java не обязательно означает, что ваш компьютер настроен на использование последней версии. Вы не указали никаких деталей платформы, так что все, что я могу сказать.