Я тестировал некоторые новые функции Java 8 и скопировал пример в мою IDE (изначально Eclipse, затем IntelliJ), как показано здесь
Eclipse не предложила никакой поддержки лямбда-выражений, а IntelliJ продолжал сообщать об ошибке
Лямбда-выражения не поддерживаются на этом уровне языка
Я хотел бы знать, если это проблема с моей установкой, кодом или поддержкой.
java
intellij-idea
lambda
java-8
Czipperz
источник
источник
Ответы:
В IntelliJ IDEA:
В
File Menu
→Project Structure
→Project
изменитьProject Language Level
на8.0 - Lambdas, type annotations etc.
Для Android 3.0+ Go
File
→Project Structure
→Module
→app
и в Properties Tab набораSource Compatibility
иTarget Compatibility
к1.8 (Java 8)
Скриншот:
источник
File Menu → Project Structure → Modules
, но по умолчанию он будет таким же, как уровень языка проекта.android { compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } }
File
->Project Structure
->Module you want to support lambdas
и установите Source Compatibility и Target Compatibility на 1.8Вы должны изменить исходный код Language Level также на вкладке Source (часть Modules).
источник
Это решение работает в Android Studio 3.0 или более поздней версии.
Изменить оба
Source Compatibility
иTarget Compatibility
на1.8
Вы также можете настроить его непосредственно в соответствующем файле build.gradle
источник
Для intellij 13, просто измените сам уровень языка проекта на
8.0
следующую навигацию.Уровень языка модуля
Мне также пришлось обновить,
Modules lang level
когда не было Maven плагин дляjava compiler
.Но это
Module lang level
будет автоматически исправлено, если для этого уже естьmaven plugin
,После изменений все выглядит хорошо
источник
В Android Studio Canary build (3. +) вы можете сделать следующее:
Файл -> Структура проекта -> Посмотрите в разделе Модули, там есть названия модулей вашего класса. Нажмите на модуль, в котором вы хотите обновить Java до версии 1.8. -> Измените «Совместимость источника» и «Целевая совместимость» на 1,8 с 1,7 или ниже. Больше ничего не меняй. -> Нажмите Применить
Теперь Gradle будет синхронизироваться, и ваша ошибка будет удалена.
источник
Просто добавьте
compileOptions
в build.gradle ваше приложение:источник
Для последних пользователей, использующих Android studio 3.0.1 или выше. Просто нажмите Alt + Enter и обновите свой уровень языка до 8.0 - лямбды, введите аннотации и т. Д.
источник
Если вы получаете не поддерживается на языке 5 , проверьте это: (Для меня это было в разделе Модули )
источник
7.0 не поддерживает лямбда-выражения. Просто добавьте это в приложение, чтобы изменить уровень языка на 8.0:
источник
На самом деле, поддержка Eclipse для Java 8 доступна: смотрите здесь и здесь .
источник
Компилировать с Java 8 (лямбды и т. Д.) В IntelliJ IDEA 15;
CTRL + ALT + SHIFT + S
или файл / структура проектаОткрыть вкладку проекта
Установите Project SDK на совместимую версию Java (1.8)
Установите уровень языка проекта на 8
Открыть вкладку Модули
Установите уровень языка на 8, нажмите ОК
CTRL + ALT + S
или Файл / НастройкиСборка, выполнение, развертывание / компилятор / компилятор Java
Измените целевую версию байт-кода на 1.8, нажмите ОК
источник
Использование: IntelliJ IDEA 2017.1.4 Build # IU-171.4694.23
Изменение уровня языка через вкладку «Настройки проекта» / «Проект» ничего не дало. Вместо этого нажмите Alt+ Enterи выберите «Установить уровень языка 8 - лямбда-выражения, примечания типа и т. Д.» и это решается автоматически.
источник
Как отметил Стивен С., Eclipse Kepler (4.3) имеет поддержку Java 8 при установке патча (инструкции по установке здесь )
После установки вам нужно указать вашим проектам использовать java 8. Сначала добавьте JDK в eclipse:
Затем скажите проекту использовать JDK 1.8:
источник
Проверьте настройки ниже:
Файл-> Структура проекта-> Вкладка Проект.
Файл-> Структура проекта-> Модули.
Файл-> Настройки (или Другие настройки-> Настройки новых проектов в новой версии Idea)
Ваша проблема может попасть в любую из категорий, определенных выше.
источник
Тот же проект (
Android Studio 3.3.2
,gradle-4.10.1-all.zip
,compileSdkVersion 28
,buildToolsVersion '28.0.3'
) работает отлично на новой быстрой машине Windows , и подчеркиваниеJava 8
материала красного цвета на старом Ubuntu 18.04 ноутбука (однако проект компиляции без ошибок на Ubuntu).Единственные две вещи, которые я изменил, чтобы заставить его перестать подчеркивать красным, были исключением
incremental true
иdexOptions
на
app
- уровнеbuild.gradle
.источник
В intellij 14 у меня сработали следующие настройки. Настройки Intellij14
источник
Даже после применения определенных выше специфичных для проекта настроек на IntelliJ, а также на Eclipse, он все равно не удался!
у меня сработало добавление плагина maven с исходными и целевыми настройками 1.8 в POM XML:
источник
Возможная причина №1 (такая же, как первые 3 ответа на этот вопрос): настройки структуры проекта
Файл> Структура проекта> В разделе «Параметры проекта» перейдите в «Проект»> установите Project SDK равным 1,8 (с версией 65 или выше, последняя версия - 112) и установите « Уровень языка проекта» на 8.
Файл> Структура проекта> В разделе «Настройки платформы» перейдите в «Проект»> и убедитесь, что домашний путь JDK установлен на 1,8 (с версией 65 или выше, последняя версия - 112).
Если вышеперечисленное не работает, проверьте целевую версию байт-кода вашего компилятора и перейдите к «Возможная причина №2».
Возможная причина № 2: компилятор
С наилучшими пожеланиями :)
источник
Для меня ни одно из предложенных решений не сработало.
Это должно быть вашим последним средством: -> Откройте файл .iml вашего проекта, измените LANGUAGE_LEVEL на JDK_1_8 или любую другую версию, которую вы пожелаете. -> Если это не помогло, вы должны выполнить grep «JDK» в корневой директории вашего проекта и найти файл, который содержит настройку версии, и установить его на предпочитаемую версию.
источник
Ctrl + Alt + Shift + S, а затем в проекте выберите уровень языка 1.8, подробнее о лямбда-выражениях читайте здесь
источник
Для поддержки Ecplise для лямбда-выражений:
источник
Сначала проверьте версию JDK, которую вы используете, она должна быть выше, чем 1.8.
Если это так, выполните следующие действия.
Изменить уровень языка проекта и модулей в Intellij .
проект
источник
этот ответ не работает для нового обновленного intelliJ ... для нового intelliJ ..
Перейдите в -> файл -> Структура проекта -> Глобальные библиотеки ==>, чтобы установить версию JDK 1.8 или выше.
также Файл -> Структура проекта ---> Проекты ===> установите "Руководство по языку проекта" на 8
также Файл -> Структура проекта ---> Проект SDK ==> 1.8
Это должно включить лямбда-выражение для вашего проекта.
источник