Ответ 1
В окне конфигурации сборки время выполнения jre было настроено на jre 6 вместо jre 7.
Я запускаю эту цель в Ant.
<target name="compile" depends="init"
description="compile the source " >
<!-- Compile the java code from ${src} into ${build} -->
<javac srcdir="${src}" destdir="${build}"/>
</target>
Это дает мне эту ошибку.
C:\Users\..\workspace\..\build.xml:21: java.lang.UnsupportedClassVersionError: com/sun/tools/javac/Main : Unsupported major.minor version 51.0
Вот версии:
Apache Ant(TM) version 1.8.2
JDK version is JDK 1.7.0
Здесь мои настройки компилятора в Eclipse.
Пожалуйста, помогите мне решить проблему.
В окне конфигурации сборки время выполнения jre было настроено на jre 6 вместо jre 7.
Убедитесь, что tools.jar, используемый во время компиляции, соответствует набору JRE. Если вы находитесь на затмении, проверьте версии как:
Goto Window- > Настройки
- Проверьте Ant Время выполнения, выбрав Runtime под Ant в левой панели. Проверьте глобальные записи под вкладкой pathpath. Вы можете увидеть версию в пути к папке.
- На левой панели установите JRE под Java. Проверьте версию.
У меня также была такая же проблема, когда моя выбранная JRE была 1.6.0_24, а tools.jar в Ant время исполнения исходило из jdk 1.7
Если они оба из разных версий - 1.6/1.7, исправьте их, исправив их путь.
Как правило, tools.jar можно найти по адресу: C:\Program Files\Java\jdk1.x.x\lib. Аналогично, если необходимо, добавьте JRE, указав его на C:\Program Files\Java\jdk1.x.x\
Проверьте, установлен ли jdk в пути "C:\Program Files\Java" . Если не установить JDK на вашем компьютере.
В Eclipse щелкните правой кнопкой мыши на "build.xml", затем выберите Запустить как > Конфигурация внешних инструментов
Нажмите " JRE", затем нажмите "Установленные JRE" > "ADD" > "Стандартная виртуальная машина" > Нажмите "Далее
Выберите каталог "C:\Program Files\Java\jdk1.7.x_xx" , и каталог будет добавлен в "установленный jres"
Выберите новый каталог JDK и нажмите "ОК"
Нажмите раскрывающийся список "Отдельный JRE" и выберите версию JDK "jdk1.7.x_xx" и нажмите " Запустить"
Это поможет:)
Вам нужно будет сказать, какая версия Ant и какая версия JVM.
Вы можете запустить ant -v
, чтобы узнать, какие настройки Ant использует в соответствии с документом
Ant 1.8 * требует JDK 1.4 или новее.
"Unsupported major.minor version 51.0" означает, что код был скомпилирован для версии JDK и что вы пытаетесь запустить эти классы в старой версии JDK. (см. здесь)
Одна из возможных причин этого - неправильная JRE, выбранная в параметрах сборки Ant. Щелкните правой кнопкой мыши файл build.xml и выберите "Запустить как...", а затем "Ant Сборка...", убедитесь, что правильный JRE выбран на вкладке JRE диалогового окна параметров конфигурации. Вы увидите опцию "Отдельный JRE"; убедитесь, что соответствующий jdk выбран из раскрывающегося списка, прежде чем нажать "Выполнить".
Загрузите JDK-версию JRE на установленную JRE и используйте это вместо этого.
В Eclipse Indigo, если вы проверите вкладку classpath в конфигурации запуска для ant, вы увидите, что по умолчанию она добавляет tools.jar из системы. Поэтому, если вы запустите Eclipse с помощью Java7 и запустите конструкцию ant, используя отдельный JRE6, он генерирует UnsupportedClassVersionError. Когда я добавил JDK-версию, Eclipse выбрал tools.jar из JDK, и моя задача ant выполнена успешно.
Я сталкиваюсь с той же проблемой. Затем я вошел в Run as → Ant build...- > jre. Я нашел, что jre используется отдельно JRE, который является затмением ERE по умолчанию (1.6). Затем я перешел к разделам → установил JRE. И измените местоположение JPL-затмения по умолчанию на мой jdk (1.7).
Проблема разрешена.
Я хотел бы добавить свои результаты здесь, чтобы помочь другим, так как, хотя релевантно, ни одна из них не решила мою проблему.
У меня была уникальная ситуация, когда я отправился из мастерской для weblogic 9.2 в Helios с JDK6. Однако наши эксперты по безопасности подтолкнули нас к JDK7, который заставил мою руку пойти в Индиго.
В конце я использовал sysinternals explorer для поиска, если что-то в настоящее время использует папку JDK6, которая все еще существует в моей системе. Конечно же, это был Eclipse. Я открыл eclipse.ini, а вторая строка ссылалась на JDK6, я заменил его на каталог JDK7, запустил Eclipse, и сборка была успешной.
Если вы получаете эту ошибку, потому что вы целенаправленно пытаетесь создать Java 6, но у вас есть Java 7 в другом месте Eclipse, возможно, это связано с тем, что вы ссылаетесь на Java 7 tools.jar
в среде Java 6.
Вам нужно будет установить JDK 6 (не JRE) и добавить JRE 6 tools.jar
в качестве пользовательской записи в пути класса конфигурации сборки, указанном выше JRE 7 tools.jar
.
В моем случае проект был Maven, у меня был JDK 1.8.0, Eclipse: Kepler, и я установил плагин M2Eclipse из Eclipse Marketplace.
Изменение уровня компилятора не помогло.
Наконец, я использовал последнюю версию eclipse (Luna), уровень компилятора 1.7, тот же плагин M2Eclipse и проблема была решена.
перейти к опции запуска --- > выбрать параметр внешнего инструмента ---- > настройка внешнего инструмента --- > выберите ant build ---- > выберите файл build.xml --- > там вы найдете вариант JDK --- > выберите требуемую JRE.
Просто проверьте время выполнения, перейдите в конфигурацию сборки ant и измените jre против jdk (если jdk 1.7, то jre должно быть 1.7).