Функция предварительного просмотра "Записи" в IntelliJ 2020.1 с Java 14 завершается с ошибкой компилятора во время установки Maven, но в противном случае выполняется
Я пытаюсь использовать функцию JEP 359: Records (Preview) в Java с IntelliJ 2020.1.1 RC.
Я определил такой класс:
package work.basil.example;
import java.time.LocalTime;
public record LocalTimeRange(LocalTime start , LocalTime stop)
{
}
Когда я запускаю основной метод в другом классе, используя этот LocalTimeRange
класс, без проблем.
Когда я делаю Maven install
Я получаю такую ошибку:
Ошибка:(6,8) java: записи являются функцией предварительного просмотра и по умолчанию отключены.
➥ Как я могу помочь Maven завершить install
операция?
Я использовал Maven Quickstart Archetype версии 1.4. Затем я отредактировал POM, чтобы использовать все последние версии его различных зависимостей.
У меня есть настройки "Структура проекта":
Настройки проекта> Проект> SDK проекта> 14
Настройки проекта> Проект> Уровень языка проекта> 14 (предварительная версия) - Записи, шаблоны, текстовые блоки
Настройки проекта> Модули> Уровень языка проекта> 14 (предварительная версия) - Записи, шаблоны, текстовые блоки
У меня есть настройки "Предпочтения":
Сборка, выполнение, развертывание> Компилятор> Компилятор Java> Версия байт-кода для каждого модуля> Целевая версия байт-кода> 14
Запуск этой Java:openjdk 14.0.1 2020-04-14 Среда выполнения OpenJDK AdoptOpenJDK (сборка 14.0.1+7) 64-разрядная серверная виртуальная машина OpenJDK AdoptOpenJDK (сборка 14.0.1+7, смешанный режим, совместное использование)
С помощью:
IntelliJ IDEA 2020.1.1 (Максимальная версия)
Сборка № IU-201.7223.58, построена 26 апреля 2020 г.
Подписка активна до 28 августа 2020 г.
Версия выполнения: 11.0.6+8-b765.40 x86_64
ВМ: 64-разрядная серверная виртуальная машина OpenJDK от JetBrains sro macOS 10.14.6
GC: ParNew, ConcurrentMarkSweep
Память: 2200 МБ
Ядра: 6
Не связанные плагины: com.github.leomillon.uuidgenerator
1 ответ
Похоже, это новая проблема или ошибка, возникшая в IntelliJ 2020.1.1 RC, сборка № 201. Такое же поведение в финальной версии 2020.1.1.
См. Билет № IDEA-237538, IntelliJ Build № IU-201.6668.121 больше не распознает записи Java 14
Решение: добавить <configuration>
элементы
Чтобы сделать свой Maven clean
& install
завершено успешно, добавить <configuration>
элементы к двум вашим элементам POM, чтобы отметить --enable-preview
.
Измените это:
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.1</version>
</plugin>
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<version>3.0.0-M4</version>
</plugin>
â € на это:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.1</version>
<configuration>
<release>14</release>
<compilerArgs>
<arg>--enable-preview</arg>
</compilerArgs>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>3.0.0-M4</version>
<configuration>
<argLine>--enable-preview</argLine>
</configuration>
</plugin>