#java #gradle #intellij-idea #preview
#java #gradle #intellij-idea #Предварительный просмотр
Вопрос:
Со следующей настройкой Gradle
sourceCompatibility = 1.12
targetCompatibility = 1.12
tasks.withType(JavaCompile) {
options.incremental = true
options.compilerArgs
the project will be compiled, the tests executed and the artifacts built on JDK 12.
However, in IntelliJ with the following common project structure
project
|_moduleA
|_main
|_test
|_moduleB
|_main
|_test
и уровень языка, установленный на 12 (предварительный просмотр) — Выражения переключения только проект и два модуля получают этот уровень языка. Однако модули main и test теряют настройки, и IDEA говорит, что настройки будут потеряны при обновлении проекта Gradle.
Итак, как можно применить параметр —enable-preview, чтобы исходные модули также сохраняли этот параметр?
Комментарии:
1. Это работает на уровне языка
12 (no new language features)
.12 (preview)
пока не поддерживается Gradle. Попробуйте бета-версию 2019.1 , если она не работает у вас в выпуске 2018.3. Связанный запрос .2. У меня была такая же проблема с плагином компилятора maven, я включаю —enable-preview как compilerArgs , но при повторном импорте он изменяет уровень языка модуля в intellij с 12 (предварительный просмотр) на 12 (без новых языковых функций), что сводило меня с ума от необходимости переключать его обратно, пока я не снял флажок автоматически импортировать проекты Maven.
Ответ №1:
У меня была такая же проблема, решаемая с помощью документации gradle:
tasks.withType(JavaCompile) {
options.compilerArgs = "--enable-preview"
}
tasks.withType(Test) {
jvmArgs = "--enable-preview"
}
tasks.withType(JavaExec) {
jvmArgs = "--enable-preview"
}