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

Quarkus从2.15.3升级至3.2.2后执行runner.jar报错求助

问题解决:Quarkus 3.x原生构建产物执行报错找不到org.graalvm.nativeimage.ImageInfo

核心原因

你混淆了Quarkus原生镜像和普通可执行Jar的运行方式:

  • mvn package -Dnative生成的是GraalVM原生可执行文件(无需JVM直接运行),不是Jar包;
  • 你尝试用java -jar运行的applicationRunner.jar其实是普通的JVM可执行Jar,它的依赖中不包含GraalVM的ImageInfo类,自然会报错。

解决步骤

  1. 找到正确的原生构建产物
    执行mvn package -Dnative后,target/目录下会生成一个无后缀的可执行文件(Linux/macOS)或.exe文件(Windows),文件名格式通常为[你的应用名]-[版本号]-runner。

  2. 直接运行原生可执行文件
    在终端中执行该文件即可,比如:

    ./target/application-1.0.0-SNAPSHOT-runner
    

    (Windows下直接双击或在命令行输入文件全名)

  3. 如果需要运行普通JVM Jar
    不要加-Dnative参数,执行:

    mvn package
    

    然后用java -jar运行生成的runner.jar:

    java -jar target/application-1.0.0-SNAPSHOT-runner.jar
    

关于反射配置的说明

org.graalvm.nativeimage.ImageInfo是GraalVM原生构建工具链的内部类,仅在原生镜像构建时存在,普通JVM环境下不会包含这个类。所以添加它到反射配置完全没用,反而会因为类不存在报错——只要用正确的方式运行对应产物,Quarkus会自动处理环境判断,不会触发这个错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.14 22:46:24