I'm using Liquibase with Maven in a project - v4.2.0.
My changelogs are on the file system, rather than in the JAR or classpath of the project.
I'm using the following to establish my object:
liquibase = new Liquibase( changeLogFile, new FileSystemResourceAccessor(), database );
where the changelogFile is something like ~/liquibase-sql/changelog/db.changelog.xml
When I call liquibase.validate(), I get the following, after a reminder of the classpath locations:
Specifying files by absolute path was removed in Liquibase 4.0. Please use a relative path or add '/' to the classpath parameter.
I've tried various things including a file: prefix, and the file is question can be opened in terminal directly.
I have looked through the code and I'm confused by the concept of FileSystemResourceAccessor being named as such if it can only use the classpath (there's already a ClassLoaderResourceAccessor), but I can't see a way to make it work.
Based on very very old questions people have managed this before, but I assume prior to 4.0? (this works fine on 3.10.3)
Does anyone have any pointers? I've used CLI liquibase and understand the error, but I'm not sure how I can not determine the path without it being absolute, on the understanding that this would be potentially be ran on a few different machines in arbitrary locations.
This might be niche question, but thanks for any help in advance.