You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在org.graalvm.buildtools.native插件中传入--enable-preview参数?

解决Gradle Native插件配置--enable-preview的访问违规问题

错误原因

你尝试访问的compileOptions是Gradle Native插件的受保护内部成员,无法直接在构建脚本中修改。--enable-preview是Java预览特性的参数,需要通过Java插件的相关任务或扩展来配置,而非操作Native插件的compileOptions。

正确配置方式

根据启用Java预览特性并配合Native插件的场景,按以下方式配置:

1. 配置Java编译任务

给所有Java编译任务添加--enable-preview参数:

tasks.withType(JavaCompile) {
    options.compilerArgs += '--enable-preview'
}

2. 配置测试任务

测试运行时也需要启用预览特性,否则会触发兼容性报错:

tasks.withType(Test) {
    jvmArgs += '--enable-preview'
}

3. 配置Native镜像构建任务(若使用GraalVM Native Image)

如果用GraalVM Native插件生成原生镜像,需要在镜像构建参数中同步加入该选项:

tasks.withType(org.graalvm.buildtools.gradle.NativeImageTask) {
    args += '--enable-preview'
}

替代方案:通过Java插件扩展配置

确保项目已应用Java插件的前提下,也可直接通过Java插件的compileOptions扩展配置:

java {
    compileOptions {
        compilerArgs.add('--enable-preview')
    }
}

注意事项

  • 确保使用的Java版本支持预览特性(Java 12及以上),并在工具链中指定对应版本。
  • 区分Native插件的compileOptions(用于C/C++编译配置)与Java插件的compileOptions,不要混淆配置块。

内容的提问来源于stack exchange,提问作者pixel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.06 08:52:35