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

Quarkus从2.11升级到3.6出现EnumConstantNotPresentException求助

Quarkus 3.6启动报错EnumConstantNotPresentException: ConfigPhase.BOOTSTRAP的解决方法

这个错误是因为项目中存在依赖Quarkus 2.x旧API的第三方扩展,io.quarkus.runtime.annotations.ConfigPhase.BOOTSTRAP枚举常量在Quarkus 3.x版本中已被移除,部分旧版本扩展仍在引用它,导致启动时无法找到该枚举。

从你的依赖列表来看,问题出在以下几个Quarkiverse第三方扩展的旧版本上:

  • io.quarkiverse.hibernatetypes:quarkus-hibernate-types:2.0.0:仅兼容Quarkus 2.x,不支持3.x
  • io.quarkiverse.googlecloudservices:quarkus-google-cloud-storage:2.1.0:2.x版本对应Quarkus 2.x生态
  • io.quarkiverse.bucket4j:quarkus-bucket4j:1.0.1:1.x版本仅适配Quarkus 2.x

解决步骤

将上述三个扩展升级到兼容Quarkus 3.6的版本:

  1. quarkus-hibernate-types升级到3.0.0(适配Quarkus 3.x)
  2. quarkus-google-cloud-storage升级到3.4.0(对应Quarkus 3.6兼容版本)
  3. quarkus-bucket4j升级到2.1.0(适配Quarkus 3.x)

修改后的依赖片段:

<dependency>
    <groupId>io.quarkiverse.hibernatetypes</groupId>
    <artifactId>quarkus-hibernate-types</artifactId>
    <version>3.0.0</version>
</dependency>
<dependency>
    <groupId>io.quarkiverse.googlecloudservices</groupId>
    <artifactId>quarkus-google-cloud-storage</artifactId>
    <version>3.4.0</version>
</dependency>
<dependency>
    <groupId>io.quarkiverse.bucket4j</groupId>
    <artifactId>quarkus-bucket4j</artifactId>
    <version>2.1.0</version>
</dependency>

验证方法

  • 执行mvn clean install清理旧依赖并重新构建
  • 启动Quarkus开发模式mvn quarkus:dev,确认错误消失

补充说明

Quarkus 3.x相对于2.x有较多API变更,第三方扩展需同步升级才能兼容。后续升级Quarkus版本时,要注意检查所有Quarkiverse扩展的版本兼容性,确保其版本与Quarkus核心版本匹配。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.05 08:30:58