Java 19 具有新功能:虚拟线程(作为预览版)和结构化并发(作为孵化器)。 Gradle 7.6 将支持 Java 19。既然 7.6-rc-1 已经可用,我该如何尝试这些新功能呢?我有如下可用的 Bash 脚本:
编译:
javac --release 19 --enable-preview \
--add-modules jdk.incubator.concurrent \
-cp $CLASSPATH \
[snip]
运行:
java --enable-preview \
-cp $CLASSPATH \
--add-modules jdk.incubator.concurrent \
net.codetojoy.Runner
这些标志是如何翻译成 Gradle 的?
最佳答案
考虑这个 build.gradle
文件:
apply plugin: 'java'
apply plugin: 'application'
mainClassName = "net.codetojoy.Runner"
compileJava {
options.compilerArgs.addAll(['--release', '19'])
options.compilerArgs.addAll(['--enable-preview'])
options.compilerArgs.addAll(['--add-modules', 'jdk.incubator.concurrent'])
}
application {
applicationDefaultJvmArgs = ['--enable-preview',
'--add-modules', 'jdk.incubator.concurrent']
}
Here是一个工作示例,它使用 7.6-rc-1 的 Gradle 包装器,并说明了结构化并发。
关于Java 19 预览版、Gradle 孵化器功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74311120/