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

使用liquibase命令行Main类时如何指定searchPath参数?

问题解决:Liquibase 4.18.0/4.19.0 中searchPath和hub-mode参数报错的处理

核心原因

你直接调用的liquibase.integration.commandline.Main是Liquibase的遗留CLI入口类,它仅支持旧版参数集,不兼容--hub-mode、--searchPath这类新CLI架构(4.0+引入的标准CLI)的参数。而系统提示的searchPath参数是针对标准CLI的,这就导致了参数不识别的矛盾。

解决方案

方案1:改用标准Liquibase CLI(推荐)

放弃直接调用liquibase.integration.commandline.Main,改用标准的jar包执行方式,这样就能正常支持目标参数:

java -jar liquibase.jar --logLevel=info --defaultsFile=project.properties --hub-mode=off --search-path="some/resources" update

注:标准CLI中--search-path和--searchPath两种写法都支持,可根据习惯选择。

方案2:继续使用遗留入口类(不推荐)

如果因特殊需求必须保留调用liquibase.integration.commandline.Main,需要用以下替代方式实现需求:

  • 禁用Hub模式:在project.properties中添加配置liquibase.hub.mode=off,或者在命令行通过系统属性传递:
    java -Dliquibase.hub.mode=off liquibase.integration.commandline.Main --logLevel=info --defaultsFile=project.properties update
    
  • 指定资源搜索路径:使用旧版参数--classpath替代,或在project.properties中设置liquibase.searchPath=some/resources,也可以用系统属性传递:
    java -Dliquibase.searchPath="some/resources" liquibase.integration.commandline.Main --logLevel=info --defaultsFile=project.properties update
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 12:40:32