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

JHipster项目执行liquibase:update时H2数据库版本不支持错误求助

解决H2数据库「Unsupported database file version or invalid file header」错误的排查步骤
  • 统一H2版本兼容性
    先检查项目里H2数据库和Liquibase依赖的H2驱动版本是否一致。如果Liquibase用的驱动版本比创建数据库文件的H2版本低,就会触发这个错误。可以在pom.xml里统一指定H2版本,比如:

    <properties>
        <h2.version>2.2.224</h2.version>
    </properties>
    

    之后执行./mvnw clean install更新依赖,再重新生成数据库文件。

  • 删除损坏/旧版本的H2文件
    找到项目中持久化的H2文件(一般在target目录或你指定的磁盘路径下,后缀是.mv.db),直接删除这些文件,再重新运行./mvnw liquibase:update让Liquibase重新初始化数据库。很多时候是旧版本H2生成的文件,或者之前操作中断导致文件损坏。

  • 核对H2连接URL配置
    检查application-dev.yml或application.yml里的H2连接URL格式是否正确,比如:

    url: jdbc:h2:file:./data/h2db;DB_CLOSE_ON_EXIT=FALSE;AUTO_RECONNECT=TRUE
    

    注意不要写错文件路径,也避免使用旧版本H2的废弃参数,这些都可能导致文件识别异常。

  • 确认Liquibase的数据库类型配置
    检查项目中liquibase.properties或相关配置里,数据库类型是否设置为h2。如果误设成其他数据库类型,Liquibase会用错误的逻辑处理H2文件,进而引发版本或头文件错误。

  • 清理Maven缓存后重新构建
    执行./mvnw clean install -DskipTests清理项目构建缓存,重新下载所有依赖。有时候依赖冲突会导致H2驱动加载异常,间接引发这个文件识别问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.03 18:58:08