Ошибка: Java: ошибка: неверный исходный выпуск: 13 с использованием JDK12 с IntelliJ

Я пытаюсь построить проект с JDK-12 шт. При попытке выполнить пример класса:

public static void main(String[] args) {
    Scanner scanner = new Scanner(System.in);
    int value = scanner.nextInt();
    // After JEP-325
    switch (value) {
        case 1 ->System.out.println("one");
        case 2 ->System.out.println("two");
        default ->System.out.println("many");
    }
} 

IDE выдает ошибку, которая гласит

Ошибка: Java: ошибка: недопустимый исходный выпуск: 13

Соответствующие экраны конфигурации проекта:

Настройки модуля

SDKs

Настройки компилятора

О IDE:

IntelliJ IDEA 2018.3.3 (Community Edition)
Build #IC-183.5153.38, built on January 9, 2019
JRE: 1.8.0_152-release-1343-b26 x86_64
JVM: OpenJDK 64-Bit Server VM by JetBrains s.r.o
macOS 10.13.6

Пробовал переключать обратно уровень языка на 12, без экспериментальных функций, но это заканчивается

Я помню, как успешно использовал экспериментальные функции в недавнем прошлом (не уверен в точной версии IntelliJ). Что-то изменилось, что мне нужно настроить кроме этого?

4 ответа

Решение

Превращаю мой комментарий в ответ. Вы можете добавить --enable-preview Пометить виртуальную машину, перейдя в:

Выполнить -> Редактировать конфигурации...

Затем выберите свой основной класс из дерева меню слева и вставьте --enable-preview в окне "Параметры виртуальной машины"

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

Вы можете сделать то же самое для компилятора, перейдя в:

Файл -> Настройки...

Затем в меню дерева под Build, Execution, Deployment -> Compiler -> Java Compiler вы можете поместить --enable-preview в поле "Дополнительные параметры командной строки":

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

Обратите внимание, что intellisense все еще может не работать после этого. Я все еще вижу красные волнистые линии под ->с сообщением об ошибке "неожиданный токен". Но когда я нажимаю кнопку запуска, класс компилируется и работает просто отлично.

Только для записи. У меня была аналогичная ошибка, но с Java 14:

Error:java: error: invalid source release: 14

Для меня проблему решило поиск каждого места в среде IDE, где упоминалась другая версия Java, а не 14-я.

Места, которые мне пришлось поменять, были:

Файл -> Структура проекта -> Настройки проекта

Файл -> Структура проекта -> Настройки модуля -> Вкладка: Источники: Уровень языка.

Файл -> Структура проекта -> Настройки модуля -> Вкладка: Зависимости: SDK модуля.

Файл -> Настройки -> Компилятор -> Компилятор Java -> Целевая версия байт-кода.

В IDEA v2018.3.2 Уровень языка предварительного просмотра добавлен параметр --enable-preview в командную строку. В v2018.3.3 нет 12 уровня предварительного просмотра, поэтому параметр должен быть добавлен вручную, как вы правильно упомянули в своем комментарии. Экспериментальные функции не добавляют никаких параметров компиляции.

Предполагая, что вы столкнулись с проблемой для проекта SpringBoot с зависимостями, упомянутыми в pom.xml (зависимости Maven). Сделайте следующее.

  1. Проверьте версию jdk вашего компьютера с помощью cmd или терминала с помощью команды: java -version.
  2. В вашем pom.xml обновите версию java <java.version><MACHINE'S JDK VERSION> </ java.version>

Сохраните изменения, и все готово.

Другие вопросы по тегам