File path issue with maven-plugin

db-changelog-master.xml

liquibase.properties

pom.xml

└───release1

db-changelog-1.0.xml

├───ddl

001_SAMPLE.sql

└───dml
002_SAMPLE.sql
003_SAMPLE.sql















“UTF-8”?>
<databaseChangeLog
xmlns=http://www.liquibase.org/xml/ns/dbchangelog”
http://www.w3.org/2001/XMLSchema-instance”
http://www.liquibase.org/xml/ns/dbchangelog-ext”
xsi:schemaLocation=“http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd
http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd”>

“true”/>
http://www.liquibase.org/xml/ns/dbchangelog”
http://www.w3.org/2001/XMLSchema-instance”
xsi:schemaLocation=“http://www.liquibase.org/xml/ns/dbchangelog
http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd”>

“true” />
“true” />
driver: org.sqlite.JDBC
url: jdbc:sqlite:sampledb.db

>mvn liquibase:update
[INFO] Scanning for projects…
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building database-script 1.0.0
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] — liquibase-maven-plugin:3.6.1:update (default-cli) @ database-script —
[INFO] ------------------------------------------------------------------------
[INFO] Loading artifacts into URLClassLoader
[INFO]

artifact: file:/C:/Users/Public/Documents/maven/repository/org/xerial/sqlite-jdbc/3.21.0.1/sqlite-jdbc-3.21.0.1.jar
[INFO]

artifact: file:/C:/Users/pateman/code/liquibase/db1/maven/target/classes
[INFO]

artifact: file:/C:/Users/pateman/code/liquibase/db1/maven/target/test-classes
[INFO] ------------------------------------------------------------------------
[INFO] Parsing Liquibase Properties File
[INFO]

File: liquibase.properties
[INFO] ------------------------------------------------------------------------
[INFO] Starting Liquibase at Wed, 18 Apr 2018 11:59:58 IST (version 3.6.1 built at 2018-04-11 09:05:04)
[INFO] Settings

[INFO]

driver: org.sqlite.JDBC
[INFO]

url: jdbc:sqlite:sampledb.db
[INFO]

username: null
[INFO]

password: *****
[INFO]

use empty password: false
[INFO]

properties file: liquibase.properties
[INFO]

properties file will override? false
[INFO]

prompt on non-local database? false
[INFO]

clear checksums? false
[INFO]

changeLogDirectory: null
[INFO]

changeLogFile: db-changelog-master.xml
[INFO]

context(s): null
[INFO]

label(s): null
[INFO]

number of changes to apply: 0
[INFO]

drop first? false
[INFO] ------------------------------------------------------------------------
[INFO] Executing on Database: jdbc:sqlite:sampledb.db
[INFO] SELECT COUNT() FROM DATABASECHANGELOGLOCK
[INFO] CREATE TABLE DATABASECHANGELOGLOCK (ID INTEGER NOT NULL, LOCKED BOOLEAN NOT NULL, LOCKGRANTED TEXT, LOCKEDBY VARCHAR(255), CONSTRAINT PK_DATABASECHANGELOGLOCK PRIMARY KEY (ID))
[INFO] SELECT COUNT(
) FROM DATABASECHANGELOGLOCK
[INFO] DELETE FROM DATABASECHANGELOGLOCK
[INFO] INSERT INTO DATABASECHANGELOGLOCK (ID, LOCKED) VALUES (1, 0)
[INFO] SELECT LOCKED FROM DATABASECHANGELOGLOCK WHERE ID=1
[INFO] Successfully acquired change log lock
[INFO] Successfully released change log lock
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 3.202 s
[INFO] Finished at: 2018-04-18T12:00:00+05:30
[INFO] Final Memory: 10M/142M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.liquibase:liquibase-maven-plugin:3.6.1:update (default-cli) on project database-script: Error setting up or running Liquibase: liquibase.exception.SetupException: liquibase.exception.SetupException: Fi
le does not exist: file:/release1/ddl/001_SAMPLE.sql -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException

Thie issue appears to be that it is trying to access the files using an absolute path:

file:/C:/some_path_to_project/release1/ddl/001_SAMPLE.sql


It isn’t clear from the documentation, but looking at the code it looks like it might be possible to have an attribute ‘relativeToChangelogFile’ on that element.

Steve Donie
Principal Software Engineer
Datical, Inc. http://www.datical.com/