【问题标题】:How can --enable-preview be enabled for all Gradle submodules so that it retains in IntelliJ IDEA too?如何为所有 Gradle 子模块启用 --enable-preview 以便它也保留在 IntelliJ IDEA 中?
【发布时间】:2019-03-20 21:34:29
【问题描述】:

使用以下 Gradle 设置


sourceCompatibility = 1.12
targetCompatibility = 1.12

tasks.withType(JavaCompile) {
    options.incremental = true
    options.compilerArgs 

将在 JDK 12 上编译项目、执行测试并构建工件。 但是,在 IntelliJ 中具有以下常见的项目结构

项目 |_模块A |_主要 |_测试 |_模块B |_主要 |_测试 并且语言级别设置为12(预览版)- 切换表达式只有项目和两个模块获得此语言级别。但是,ma​​intest 模块会丢失设置,IDEA 表示刷新 Gradle 项目时设置会丢失。 那么如何应用 --enable-preview 设置,以便源模块也保留该设置?

【问题讨论】:

  • It works 语言级别为12 (no new language features)。 Gradle 尚不支持12 (preview)。如果在 2018.3 版本中对您不起作用,请尝试 2019.1 beta version 版本。 Related request.
  • 我在使用 maven 编译器插件时遇到了同样的问题,我将 --enable-preview 作为 compilerArgs,但是当重新导入时,它将 intellij 中的模块语言级别从 12(预览版)更改为 12(没有新语言功能),让我不得不将其切换回来,直到我取消选中自动导入 Maven 项目。

标签: java gradle intellij-idea preview


【解决方案1】:

我遇到了同样的问题,按照gradle documentation解决了:

tasks.withType(JavaCompile) {
    options.compilerArgs += "--enable-preview"
}
tasks.withType(Test) {
    jvmArgs += "--enable-preview"
}
tasks.withType(JavaExec) {
    jvmArgs += "--enable-preview"
}

【讨论】:

    猜你喜欢
    • 2020-09-18
    • 1970-01-01
    • 1970-01-01
    • 2015-09-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-23
    相关资源
    最近更新 更多