如何使用 Gradle 启用 Java 12 预览功能?
2022-09-01 16:44:00
当我尝试使用Gradle构建具有开关表达式的Java代码时,它抛出以下错误:
error: switch expressions are a preview feature and are disabled by default.
我尝试运行,也不起作用。./gradlew build --enable-preview
我使用的是Gradle 5.3.1。
当我尝试使用Gradle构建具有开关表达式的Java代码时,它抛出以下错误:
error: switch expressions are a preview feature and are disabled by default.
我尝试运行,也不起作用。./gradlew build --enable-preview
我使用的是Gradle 5.3.1。
您需要配置任务,以便 Gradle 在编译时将此选项传递给 Java 编译器。JavaCompile
像这样的东西应该工作:
tasks.withType(JavaCompile).each {
it.options.compilerArgs.add('--enable-preview')
}
要运行应用程序/测试,我们需要添加.jvmArgs
例:
test {
jvmArgs(['--enable-preview'])
}
目前似乎没有一个地方可以定义这一点。您应该为所有任务类型(编译,测试运行时或java exec相关任务)执行此操作。我发现自己完全覆盖了:
tasks.withType(JavaCompile) {
options.compilerArgs += "--enable-preview"
}
tasks.withType(Test) {
jvmArgs += "--enable-preview"
}
tasks.withType(JavaExec) {
jvmArgs += '--enable-preview'
}