小编Chr*_*s J的帖子

设置 Liquibase Java 在类路径/jar 之外使用变更日志

我在项目 v4.2.0 中使用 Liquibase 和 Maven。

我的更改日志位于文件系统上,而不是项目的 JAR 或类路径中。

我使用以下内容来建立我的对象:

liquibase = new Liquibase( changeLogFile, new FileSystemResourceAccessor(), database );
Run Code Online (Sandbox Code Playgroud)

那里changelogFile是类似的东西~/liquibase-sql/changelog/db.changelog.xml

当我调用 时liquibase.validate(),在提醒类路径位置后,我得到以下信息:

Specifying files by absolute path was removed in Liquibase 4.0. Please use a relative path or add '/' to the classpath parameter.
Run Code Online (Sandbox Code Playgroud)

我已经尝试了各种方法,包括file:前缀,并且问题文件可以直接在终端中打开。
我查看了代码,FileSystemResourceAccessor如果它只能使用类路径(已经有一个ClassLoaderResourceAccessor),我对这样命名的概念感到困惑,但我看不到让它工作的方法。

基于非常非常古老的问题,人们以前已经解决过这个问题,但我假设在 4.0 之前?(这在 3.10.3 上运行良好)

有人有任何指点吗?我已经使用了 CLI liquibase 并理解了错误,但我不确定如何在没有绝对路径的情况下无法确定路径,因为我知道这可能会在任意位置的几台不同机器上运行。

这可能是一个小问题,但提前感谢您的帮助。

liquibase

8
推荐指数
1
解决办法
2857
查看次数

标签 统计

liquibase ×1