javac: недопустимый целевой выпуск: 1.8


87

Недавно я загрузил JDK 1.8.0.0_06, который идет в комплекте с NetBeans. Затем я узнал, что мой проект JavaFx, который я разрабатывал на Java 1.7, не будет компилироваться в Java 1.8, поэтому я снизил свой JDK до 1.7. Тем не менее я не могу заставить его работать / скомпилировать. Я получаю такую ​​ошибку:

javac: invalid target release: 1.8
Usage: javac <options> <source files>

Я действительно застрял и буду очень признателен за любую помощь.


1
если вы собираетесь уйти в отставку, то также измените исходный код вашего проекта на 1,7, щелкните правой кнопкой мыши Project -> Properties -> Sources windowи установите 1,7 здесь
Джигар Джоши

Ты спасатель @Jigar Joshi !!!! Еще раз спасибо ***** мельница. Я так благодарен. Вы можете представить свой ответ как ответ, и я могу его принять. Вот это да! Еще раз спасибо. Так долго застрял!
Program-Me-Rev

Если ваш проект не компилируется под Java 1.8, вы, вероятно, делаете что-то очень плохое (например, у вас есть статические поля для компонентов пользовательского интерфейса в коде, который вы разместили в другой очереди, что является серьезной ошибкой дизайна). Вероятно, лучше исправить эту проблему, чем просто вернуться к версии, с которой многие пользователи обновятся в какой-то момент в будущем.
James_D

Вы правы, @James_D. Это мой первый проект на java. Я в значительной степени научился программированию и до сих пор не понимал, как избегать статических членов, интерфейсов и прочего полиморфизма. Мой проект слишком велик, чтобы его можно было редактировать сразу. Я планирую отредактировать его и перейти к внедрению зависимостей через Spring постепенно, по мере того, как заканчиваю другие оставшиеся области. Это болезненный урок, но он хорошо усвоен.
Program-Me-Rev

1
Существуют версии Java 1.8.0, 1.8.0_05 и 1.8.0_11, но не существует такой вещи, как 1.8.0.0_06.
Дэвид Конрад

Ответы:


33

если вы собираетесь уйти в отставку, то также измените источник вашего проекта на 1.7,

right click on your Project -> Properties -> Sources window 

и установить 1.7здесь

примечание: однако я предлагаю вам выяснить, почему он не работает на 1.8


66

Для IntelliJ14 вам, возможно, придется изменить версию байт-кода по отношению к JDK, который вы используете (в глобальных настройках):

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


У меня не работает,
изменяю

Но вопрос был о Netbeans?
Jolta

27
  1. Загрузите JDK 8 .
  2. Отредактируйте env var, JAVA_HOMEчтобы он указывал на новый установленный JDK 1.8: R-щелкните Мой компьютер -> Свойства -> Расширенные настройки системы -> Переменные среды найдите JAVA_HOMEв списке и установите для него значение примерно так:

    C:\Program Files\Java\jdk1.8.0_31
    
  3. Найдите старую версию и также отредактируйте ее в PATHпеременной.

  4. Возможно, вам потребуется перезагрузить систему.

Должно быть сделано.


23

Если эта ошибка возникает при запуске задачи Gradle (или Maven), вам необходимо изменить эту конфигурацию инструмента сборки, чтобы она указывала на вашу установку Java JDK 1.8 по этому маршруту:

Файл -> Настройки -> Сборка, выполнение, развертывание -> Инструменты сборки -> Gradle

Там вы проверяете, что проект Linked Gradle - это тот, над которым вы работаете, и выбираете Gradle JVM (вы пропустили это, когда импортировали проект gradle в IntelliJ)

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

Не забудьте при импорте проекта Gradle (или Maven) правильно установить целевую JVM здесь: введите описание изображения здесь


14

Ваш javac не указывает на правильный java.

Проверьте, куда указывает ваш javac, используя следующую команду -

update-alternatives --config javac

Если он не указывает на javac, с которым вы хотите скомпилировать, укажите его на «/ JAVA8_HOME / bin / javac» или на какой-либо java, с которым вы хотите скомпилировать.


почему -1, у меня была бы та же проблема, и это было потому, что мой javac не был настроен на правильную версию java?
Пиюш Джаджу 08

Помните, что конфигурация может быть нарушена из-за того, что java и javac взяты из разных дистрибутивов!
Audrius Meskauskas

9

В большинстве случаев проблемы такого типа возникают из-за неправильной версии Java. Убедитесь, что ваши переменные PATH и JAVA_HOME указывают на правильную версию.


Ага, это тоже была моя причина
парень мограби

4

Настройка Maven:

<properties>
    <maven.compiler.source>1.8</maven.compiler.source>
    <maven.compiler.target>1.8</maven.compiler.target>
</properties>

4

Ни одно из предыдущих решений у меня не помогло.

Я решил это, отредактировав .idea / compiler.xml. Были "лишние" (1) и (2) копии плохого модуля с разными целями. Я удалил посторонние заклинания и изменил цели в разделе на 1.8, и все заработало.


Это исправило это и для меня.
Дэвидмеррик

2

Для последней версии IntelliJ IDEA Ultimate по состоянию на 18 декабря 2017 г., если приведенные выше предложения не работают, попробуйте следующее: Щелкните правой кнопкой мыши проект и перейдите к «Открыть настройки модуля». Откройте его, затем измените «Уровень языка» в раскрывающемся списке.


Также убедитесь, что в настройках модуля на вкладке «Зависимости» выбран правильный SDK модуля.
Rene Juuse


1

если вы собираетесь уйти в отставку, то также измените источник вашего проекта на 1.7,

щелкните правой кнопкой мыши свой проект -> Свойства -> окно "Источники" и установите здесь 1,7 "Джигар Джоши

Также перейдите к build-impl.xmlи найдите свойство excludeFromCopy="${copylibs.excludes}"и удалите это свойство в моем коде в строке 827, но я видел его в других строках

для меня был код от MAC OS java 1.8 до WIN XP java 1.7


1

В качестве альтернативы я проверил pom.xml и изменил

<java.version>1.8</java.version>

к

<java.version>1.7</java.version>

Грасиас, это исправило это для меня, так просто.
Fabii

1

У меня такая же проблема с netbeans, но mvn build в порядке в окне cmd. Для меня проблема решена после изменения JDK netbeans (в netbeans.conf, как показано ниже),

netbeans_jdkhome = "C: \ Program Files \ Java \ jdk1.8.0_91"


Изменить: похоже, здесь упоминается: ошибка netbeans 236364


1

У меня такая же проблема в сообществе IntelliJ IDEA с Maven, и мне пришлось повторно импортировать проект, щелкнув проект правой кнопкой мыши на вкладке Project -> Maven -> Reimport


0

Установка более новой версии сообщества IDEA (2018.3 вместо 2017.x) решила мою проблему с той же ошибкой, но версия java: 11. Reimport не помог мне. Но попробовать стоит.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.