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

Quarkus后端设置Flyway文件编码,解决社区版编码检测报错

Quarkus 3.10.0 + Flyway 9.22.3 升级后出现 Flyway Teams 版本依赖错误

将Maven项目升级到Quarkus 3.10.0搭配flyway-core 9.22.3后,运行时触发以下错误:

org.flywaydb.core.internal.license.FlywayTeamsUpgradeRequiredException: Flyway Teams Edition upgrade required: detectEncoding is not supported by Flyway Community Edition
    at org.flywaydb.core.api.configuration.ClassicConfiguration.setDetectEncoding(ClassicConfiguration.java:815)
    at org.flywaydb.core.api.configuration.FluentConfiguration.detectEncoding(FluentConfiguration.java:350)
    at io.quarkus.flyway.runtime.FlywayCreator.createFlyway(FlywayCreator.java:146)
    at io.quarkus.flyway.runtime.FlywayContainerProducer.createFlyway(FlywayContainerProducer.java:53)

我们并未主动启用编码检测功能,该功能是Quarkus自动开启的。尝试过在数据源URL添加&characterEncoding=UTF-8,以及设置quarkus.flyway.encoding=UTF-8,但都无法解决问题,请问如何手动设置编码以避免Quarkus调用setDetectEncoding?


解决方案

  • 显式禁用Flyway的编码检测功能,在application.properties中添加以下配置:
    quarkus.flyway.detect-encoding=false
    
  • 同时确保已正确指定Flyway的编码(可再次确认配置):
    quarkus.flyway.encoding=UTF-8
    

Quarkus 3.10.x版本与Flyway集成时,默认会启用detectEncoding特性,但该特性仅Flyway Teams版支持,社区版无法使用。通过显式关闭编码检测并手动指定编码,即可绕过这个限制,无需升级到Teams版本。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.24 13:42:53