Почему eclipse не переключает компилятор на Java 8?



Я проверил проект Java от SVN в eclipse и понял, что он требует Java 8, потому что он использует лямбды и т. д. Я установил аддон eclipse для Java 8 и перезапустил eclipse, а также настроил проект следующим образом:



Новый Проект Java



Я заметил, что в нижней части написано, что соответствие компилятора по умолчанию равно 1.7, поэтому я вошел в org.eclipse.jdt.core.prefs и установил переменную соответствия компилятора в 1.8, согласно
этот ответ. Однако в Project - > Preferences - > Java Compiler, он по-прежнему отображается как:



затмение пожалуйста



Я установил JRE в Project - > Java Build Path:



jre8



Однако компилятор отказывается компилировать лямбда-выражения - я получаю ошибку, которая выглядит так,как если бы я ввел ее в Java 7.



Это версия eclipse, которую я использую



Version: Kepler Service Release 1
Build id: 20130919-0819


Единственный способ решить эту проблему-установить новую версию Eclipse, или я что-то упустил в конфигурации?

767   10  

10 ответов:

Две вещи:

Сначала JRE не совпадает с версией JDK. Если у вас есть JDK, вам нужно настроить eclipse, чтобы указать на это в настройках.

Во-вторых, на скриншоте выше уровень соответствия компилятора установлен на 1.7. Это будет относиться ко всему вашему коду, как если бы он использовал Java 1.7. Измените значение на 1.8, чтобы исправить ошибку.

Вам понадобится Eclipse Luna, чтобы получить поддержку Java 8, но вы можете добавить его в Kepler SR2, если хотите. Я бы попробовал с Луной и вышеизложенные предложения, прежде чем вы пойдете дальше. Смотрите эту ссылку.

Как только вы получите Luna, вашей переменной JAVA_HOME должно быть достаточно, чтобы Eclipse распознал JDK 8. Если вы хотите указать дополнительный JDK, вы можете добавить новую системную библиотеку Java, перейдя по ссылке:

Project -> Properties -> Java Build Path -> Libraries -> Add Library -> Java System Library

И переход к допустимому местоположению для JDK 8.

Вы можете скачать JDK 8 вашей платформы здесь

Это приводит к тому, что eclipse kepler SR1 не поддерживает новые усовершенствования языка Java™ 8, такие как лямбда-выражение.

Из информации здесь: http://www.eclipse.org/downloads/java8/
Я думаю, что вы должны использовать kepler SR2 с поддержкой плагина, или изменить на Eclipse Luna.


Обновлено 16.09.2016: https://wiki.eclipse.org/JDT/Eclipse_Java_8_Support_For_Kepler

У меня была та же проблема, хотя у меня было:

  • Недавно загруженный JDK 1.8.0

  • JAVA_HOME установлен

  • Java-версия в командной строке сообщает 1.8

  • Java в панели управления имеет значение 1.8

  • Загружено Затмение Марса

Eclipse только позволяет мне выбрать уровень соответствия компилятора op до 1.7 в настройках компилятора, хотя мой установленный JRE 1.8.0. Я также не мог видеть 1.8 в Среды выполнения под установленными JREs, только JavaSE-1.7 (который я даже не установил!). Когда я нажал на него, он показывает" jdk1.8.0 " в качестве совместимого JRE, поэтому я выбрал его, но по-прежнему никаких изменений.

Затем я распаковал Eclipse Mars в совершенно новый каталог, создал новый проект, и теперь я могу выбрать 1.8, ура! , что значительно сократило " дублирующие методы с именем spliterator..."ошибки, которые я получал при компиляции моего кода под Java 1.8, однако, есть остался еще один:

Повторяющиеся методы по умолчанию с именем spliterator с параметрами () и () наследуются из списка типов и набора.

Однако это, вероятно, потому, что я расширяю AbstractList и реализующий набор, поэтому я исправил это сейчас, удалив набор implements, потому что он действительно ничего не добавляет в моем случае (кроме того, что моя коллекция имеет только уникальные элементы)

Прежде всего вы должны получить JdK 8.

Если у вас установлен Jdk.

Вы должны задать его путь с помощью командной строки или системных переменных.

Иногда может случиться так, что путь не задан, из-за чего eclipse не может получить свойства для jdk.

Установка последней версии ecipse luna может решить вашу проблему.

У меня есть индиго и Луна. я могу установить 1,8 в Луне, но 1,7 в индиго.затмение Луна

Вы можете проверить сайт eclipse. он говорит,что затмение Луна, безусловно, ассоциировать свойства для jdk 8.

Необходимо установить поддержку JDT / Eclipse Java 8 для Kepler. https://wiki.eclipse.org/JDT/Eclipse_Java_8_Support_For_Kepler

У меня была похожая проблема с eclipse kepler.Я следовал этим шагам, чтобы решить его

  • Перейти к помощи в Eclipse и Oper Eclipse Market Place option.
  • Поиск jdk 1.8 для kepler
  • установите необходимый плагин.
  • перезапустить затмение.

Для справки обратитесь к этой ссылке http://techno-terminal.blogspot.in/2016/05/jdk-18-compiler-compliance-is-not.html

Старый вопрос, но публикуя ответ, он кому-то помогает. Уже путь сборки был настроен для использования JDK 1.2.81 Однако сборка не удалась с ошибкой ниже:

 lambda expressions are not supported in -source 1.5
[ERROR]   (use -source 8 or higher to enable lambda expressions)

В последнем затмении (Фотон), добавив нижеприведенную запись в pom.xml сработал.

  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <maven.compiler.target>1.8</maven.compiler.target>
    <maven.compiler.source>1.8</maven.compiler.source>
  </properties>

Это старая тема, но я просто хотел отметить, что я искал достаточно, чтобы найти, что версия Indigo не может быть обновлена до S. E 1.8 здесь ссылка, которая дается на веб-сайте eclipse, чтобы обновить среду выполнения, но если вы попытаетесь, она выдаст ошибку для Indigo.

Изображение //wiki.eclipse.org/File:ExecutionEnvironmentDescriptionInstallation.png это ссылка, где находится информация о среде выполнения подаренный.

Https://wiki.eclipse.org/JDT/Eclipse_Java_8_Support_For_Kepler Здесь показано пошаговое обновление среды выполнения.

Я попытался обновить среду выполнения и получил ту же ошибку.

Предположим, что вы уже загрузили Jdk 1.8. Вы должны убедиться, что ваша версия eclipse поддерживает Jdk 1.8. Нажмите на вкладку "справка", а затем выберите"проверить наличие обновлений". Попробовать еще раз.

Сначала установите JDK1. 8 в путь Откройте Eclipse и Oper Eclipse Market Place option. Поиск jdk 1.8 для kepler Установите необходимый плагин. Перезапустить затмение. Измените уровень компилятора на 1.8 из настроек. Если все еще есть ошибка, то нажмите на файл и измените настройку компилятора явно на Jdk 1.8

Comments

    Ничего не найдено.