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

JavaFX+GluonFX+Micronaut项目构建遇GraalVM模块访问错误

解决思路

一、针对IllegalAccessError核心问题

该错误源于GraalVM 22.3.3的模块系统限制,未命名模块无法访问jdk.internal.vm.compiler的内部包,本质是版本兼容性不匹配:你此前使用的GluonFX 1.0.13 + GraalVM 22.0.0.2是兼容组合,升级GraalVM后,GluonFX 1.0.21未适配高版本GraalVM的模块规则。

解决方向:

  1. 版本回退与插件修复

    • 优先回退GraalVM到22.0.0.2,若此前native-image插件安装失败,换网络环境或手动安装:
      下载对应版本的native-image组件,执行gu install -L <本地组件文件路径>完成安装。
    • 若必须使用高版本GraalVM,将GluonFX插件升级至最新稳定版(如1.0.26+),需提前确认该版本与GraalVM 22.3.x的兼容性。
  2. 临时绕过模块限制
    在GluonFX的Maven配置中添加JVM参数,强制导出相关模块包:

    <plugin>
        <groupId>com.gluonhq</groupId>
        <artifactId>gluonfx-maven-plugin</artifactId>
        <version>1.0.21</version>
        <configuration>
            <jvmArgs>
                <jvmArg>--add-exports=jdk.internal.vm.compiler/org.graalvm.compiler.options=ALL-UNNAMED</jvmArg>
                <jvmArg>--add-exports=jdk.internal.vm.compiler/org.graalvm.compiler.hotspot=ALL-UNNAMED</jvmArg>
            </jvmArgs>
        </configuration>
    </plugin>
    

    注意:此方法为临时绕过,存在后续兼容性风险,优先推荐版本匹配方案。

二、针对Gluon定制GraalVM安装native-image失败的问题

Gluon发布的定制GraalVM版本(如22.1.0.1)通常自带native-image组件,无需额外执行gu install。若确需安装组件,需指定Gluon专属的组件源:

  • 执行命令时添加Gluon组件源:
    gu install --url https://raw.githubusercontent.com/gluonhq/graal/master/gluon_component_catalog.properties native-image
    
  • 或从Gluon的Graal发布页下载对应版本的native-image组件文件,执行本地安装:
    gu install -L <native-image组件jar包路径>
    

三、通用排查步骤

  • 核对Micronaut兼容性:确认Micronaut 3.4.2支持当前使用的GraalVM版本(Micronaut 3.x通常适配GraalVM 21.x-22.x)。
  • 清理缓存:删除target/gluonfx目录及本地Maven缓存,重新执行构建。
  • 检查环境变量:确保JAVA_HOME指向目标GraalVM路径,PATH优先加载该GraalVM的bin目录。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.10 15:19:52