Класс javac1.8 не найден

Я установил два jdks – jdk 1.5 и jdk 1.8. У меня есть файл конфигурации Ant build.xml:

         

Перед установкой jdk1.8 Ant, вызванный из Eclipse, скомпилировал все источники успешно. Но теперь у меня есть сообщение об ошибке:

  Класс не найден: javac1.8 

Мой JAVA_HOME и JRE_HOME:

  JAVA_HOME = C: \ Program Files (x86) \ Java \ jdk1.5.0_16
 JRE_HOME = C: \ Program Files (x86) \ Java \ jre1.5.0_16 

и установите в Eclipse JRE значение 1.5. Включает ли Java 1.8 некоторые конфигурации во время установки?

  Класс не найден: javac1.8 

Известно, что эта ошибка происходит с версиями Apache Ant менее 1.9.0, которые не совместимы с Java 8. Если вы используете версию Ant <1.9.0, вы должны обновить до версии 1.9.x.

Вот связанный отчет об ошибке: https://issues.apache.org/bugzilla/show_bug.cgi?id=53347

Кстати, если вы просто хотите скомпилировать с Java 8, но не нужно компилировать какой-либо фактический синтаксис Java 8, вы можете передать следующий аргумент javac в качестве обходного пути , который позволит вам продолжить использование старой версии Ant :

 -Dbuild.compiler=javac1.7 

В качестве продолжения ответа Кристиана Холдхуса (отмеченного как правильное) вместо этого вы можете использовать атрибут compiler в задаче Ant javac . Настройка compiler="modern" должна быть как обратной (еще в 1.3), так и передовой.

Это позволяет избежать необходимости устанавливать свойство Java System с именем build.compiler . Только при отсутствии явной настройки атрибута compiler в javac задаче Ant будет использовать значение build.compiler в качестве резервной build.compiler .

У меня была такая же проблема. Я правильно установил JAVA_HOME и JRE_HOME. У меня также был Ant> 1.9.

Что я сделал, чтобы исправить это, перейдите в Eclipse в Window -> Preferences. Разверните Ant и выберите Runtime. По умолчанию следует выбрать вкладку Classpath, а с правой стороны – кнопка «Ant Home». Нажмите эту кнопку и дважды проверьте, указана ли ваша папка Ant.

 JAVA_HOME = C:\Program Files (x86)\Java\jdk1.5.0_16 JRE_HOME = C:\Program Files (x86)\Java\jre1.5.0_16 

Ваши JAVA_HOME и JRE_HOME установлены на установку Java 1.5, поэтому 1.8 двоичные файлы (например, javac ) не найдены. Установите их на установку Java 1.8, и все будет в порядке.

Я попробовал это с Eclise и получил ту же ошибку Класс не найден: javac1.8

Я проверил версию ANT на моей системе

> антиверсия

Версия Apache Ant (TM) 1.9.6, составленная 29 июня 2015 года

Когда я попытался запустить build.xml из командной строки, это сработало. Затем я проверил, что в Eclipse речь шла о более старой версии ANT.

Я просто редактировал путь ANT HOME в Eclipse, и он тоже работал отсюда. 🙂

Ниже приведено изображение, где необходимо отредактировать путь ANT в Eclipse.

  1. Щелкните правой кнопкой мыши файл build.xml
  2. Беги как
  3. Внешние конфигурации инструмента
  4. Перейдите на вкладку classpath

Теперь измените путь ANT Home здесь.

введите описание изображения здесь

Обновите Ant до версии 1.9.x как Java 8 в несовместимых с версиями Ant версии менее 1,9

Я пробовал все другие решения, но никто не работал. Наконец, я нашел подход, который работал для меня в Eclipse:

  • Щелкните правой кнопкой мыши имя имени муравья, например «compileCustomSrc» в окне ant .
  • Выберите Run As | External Tool Configurations Run As | External Tool Configurations
  • Затем на вкладке JRE выберите « Separate JRE: Java SE7 или независимо от того, как названа ваша java 7, затем нажмите « Apply а затем « Run .

Ваша задача ant будет выполнена и будет построена правильно!

Обновите Ant до версии 1.9.x как Java 8 в несовместимой с версиями Ant версии менее 1,9 или после того, как comand put -Dbuild.compiler = javac1.7, см. Ниже:

ant release -Dbuild.compiler = javac1.7

вы можете загружать и распаковывать ANT 1.10 в своей системе и пытаться подключить дом ANT в eclipse для вашего проекта до 1.10. Он должен работать, прочитайте это для более подробной информации. http://devops-badal.blogspot.com/2017/02/class-not-found-javac18-issue-while.html

Иногда проблема при построении войны через ANT также связана с совпадением совпадений с версией java в файлах build.properties как build.XML пытается использовать версию java, упомянутую в свойстве build.compiler

проверьте, является ли свойство build.compiler тем же, что и предполагаемая версия java.

  • Попробуйте с ресурсами против Try-Catch
  • Java EE 6 @ javax.annotation.ManagedBean vs. @ javax.inject.Named vs. @ javax.faces.ManagedBean
  • Идентификатор автоинкремента Hibernate
  • Почему Java Date.getYear () возвращает 111 вместо 2011?
  • Независимые от платформы пути в Java
  • Модель дизайна Singleton vs Singleton beans в весеннем контейнере
  • Как можно полиморфная десериализация Json String с использованием Java и библиотеки Jackson?
  • Котировочные знаки внутри строки
  • У нас есть class classов TimeSpan в Java
  • Почему все поля в интерфейсе неявно статичны и окончательны?
  • Как вернуть несколько объектов из метода Java?
  • Давайте будем гением компьютера.