Почему Ant дает мне неподдерживаемую ошибку версии major.minor
Я запускаю эту цель в Ant.
Это дает мне эту ошибку.
C: \ Users \ .. \ workspace \ .. \ build.xml: 21: java.lang.UnsupportedClassVersionError: com / sun / tools / javac / Главная: Не поддерживается main.minor версия 51.0
Вот версии:
- Вывод из вложенных циклов в Java
- Сортировка ArrayList пользовательских объектов по свойству
- Запись файла в hdfs с помощью Java
- Чтение GZIPInputStream по строкам
- Соглашение о назначении Java с помощью сокращений
Apache Ant(TM) version 1.8.2 JDK version is JDK 1.7.0
Вот мои настройки компилятора в Eclipse.
Пожалуйста, помогите мне решить эту проблему.
- Как преобразовать String в ArrayList?
- Получите ценность ячейки, как она была представлена в excel
- Задержка RxJava для каждого элемента списка, испускаемого
- Ошибка Java: неявный супер-конструктор не определен для конструктора по умолчанию
- Возможно, переменная не была инициализирована ошибкой
- Службы Java перестают работать, когда пользователь выходит из системы
- как установить JFrame фона прозрачным, но JPanel или JLabel Фон непрозрачный?
- Обычная аутентификация для REST API с использованием Spring restTemplate
Убедитесь, что tools.jar, используемый во время компиляции, соответствует набору JRE. Если вы находитесь на затмении, проверьте версии как:
Goto Window-> Настройки
– Проверьте Ant Runtime, выбрав 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.xx \ lib. Аналогично, если необходимо, добавьте JRE, указав его на C: \ Program Files \ Java \ jdk1.xx \
В runtime jre был установлен jre 6 вместо jre 7 в окне конфигурации сборки.
-
Проверьте, установлен ли jdk в пути «C: \ Program Files \ Java». Если не установлена JDK на вашем компьютере
-
В Eclipse щелкните правой кнопкой мыши на «build.xml», затем выберите « Запуск от имени»> «Настройка внешних инструментов»
-
Нажмите « JRE », затем нажмите «Установленные JRE»> «ADD»> «Стандартная виртуальная машина»> Нажмите «Далее»
-
Выберите каталог «C: \ Program Files \ Java \ jdk1.7.x_xx», и каталог будет добавлен в «установленный jres»,
-
Выберите новый каталог JDK и нажмите «OK».
-
Нажмите «Развернуть JRE» и выберите версию JDK «jdk1.7.x_xx » и нажмите « Запустить »,
Это поможет 🙂
Вам нужно будет указать версию Ant и версию JVM.
Вы можете запустить ant -v
чтобы узнать, какие настройки Ant использует в соответствии с документом
Ant 1.8 * требует JDK 1.4 или выше.
«Unsupported major.minor version 51.0» означает, что код был скомпилирован для версии JDK и что вы пытаетесь запустить эти classы в старой версии JDK. (см. здесь )
Одна из возможных причин этого – неправильная JRE, выбранная в вариантах сборки Ant. Щелкните правой кнопкой мыши файл build.xml и выберите «Запустить как …», а затем «Ant Build …», убедитесь, что правильный JRE выбран на вкладке JRE диалогового windows параметров конфигурации. Вы увидите опцию «Отдельный 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. И измените местоположение Jcl затмения по умолчанию на мой jdk (1.7).
Проблема устранена.
Я хотел бы добавить свои результаты здесь, чтобы помочь другим, так как в то время как релевантно, ни одна из них не решила мою проблему.
У меня была уникальная ситуация, когда я отправился из мастерской для weblogic 9.2 в Helios с JDK6. Однако наши эксперты по безопасности подтолкнули нас к JDK7, который заставил мою руку пойти в Индиго.
В конце я использовал sysinternals explorer для поиска, если что-то в настоящее время использует папку JDK6, которая все еще существует в моей системе. Конечно же, это был Eclipse. Я открыл eclipse.ini, а вторая строка ссылалась на JDK6, я заменил его на каталог JDK7, запустил Eclipse, и assembly была успешной.
Если вы получаете эту ошибку, потому что вы целенаправленно пытаетесь создать Java 6, но у вас есть Java 7 в другом месте Eclipse, возможно, это связано с тем, что вы ссылаетесь на Java 7 tools.jar
в среде Java 6.
Вам нужно будет установить JDK 6 ( не JRE) и добавить JRE 6 tools.jar
в качестве пользовательской записи в пути classа конфигурации сборки, указанной выше 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.
Просто проверьте время выполнения, перейдите в конфигурацию сборки муравьев и измените jre против jdk (если jdk 1.7, то jre должно быть 1,7).
введите описание изображения здесь