Java 19 预览版、Gradle 孵化器功能

标签 java gradle java-19 project-loom

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/

相关文章:

java - 实现 Kruskal 算法时测试电路

java - elasticsearch - 增加计数器或创建文档(如果不存在)

在 switch 表达式中尝试记录模式时出现 Java 19 编译器问题

java - Spring Controller 返回多个响应

java - 在java中使用数组创建对象

android - 如何使用Android 'flavor' strings.xml

osgi - 如何为运行时依赖项添加导入包指令?

android - 无法解决:com.github.manuelpeinado.fadingactionbar:fadingactionbar-abc:3.1.2

java-module - SecurityManager 弃用和通过抑制访问检查进行反射