4.17.2 CLI not reading liquibase.properties file consistently

I previously used Liquibase Community v4.4.3 with success. New project starting fresh with Liquibase 4.17.2, but with this version it appears that the liquibase.properties file is not being read consistently.

In a nutshell, when running liquibase from a directory OTHER THAN where the properties file exists:

  • liquibase --version DOES NOT read the properties file as expected if --search-path IS NOT defined to its location
  • liquibase --version DOES read the properties file as expected if --search-path is defined to its location
  • liquibase update DOES NOT read the properties file even when --search-path is defined to its location
  • liquibase update DOES NOT read the properties file even when both --search-path and --classpath are defined to its location

Based on this example I believe this might be a bug introduced in some version after v4.4.3. Therefore I’ll write this post as a reproducible test case so others can see if they get the same result.

Note: I know I could specify the changelog filename using CLI argument --changelogFIle, but I am intentionally not passing the argument because for our configuration I want the changelog filename obtained from the liquibase.properties file. Not passing that CLI argument also demonstrates liquibase is ignoring the properties file because it fails outright due to not finding a definition for changelogFile.

Also note: for now, yes, I will change directory to the location I defined --search-path to so things work. But that should not be necessary, and that’s why I’ve provided this test case.

Finally, this test case assumes a postgres database called ‘fd’ exists on the localhost with user appowner, password appowner, and basic permissions to create objects and what-not. You could just as easily use the postgres superuser in your own local postgres database if you wanted to.

Thanks in advance for looking into this. Getting this fixed will no doubt help others that have run into this as well.

SETUP

# ===========================================================================
# Create a directory to isolate this test cases files
# ===========================================================================

cd $HOME
mkdir liquibase-trouble
cd liquibase-trouble

# ===========================================================================
# Create the liquibase.properties file
# ===========================================================================
cat <<EOF > liquibase.properties
liquibase.command.changelogFile=changelog.yaml
liquibase.changelogLockPollRate=2
liquibase.changelogLockWaitTimeInMinutes=1
liquibase.driver=org.postgresql.Driver
liquibase.hub.mode=off
liquibase.logLevel=FINE
liquibase.promptForNonLocalDatabase=false
liquibase.showBanner=false
EOF

# ===========================================================================
# Create the changelog.yaml file
# ===========================================================================
cat <<EOF > changelog.yaml
---
databaseChangeLog:
- changeSet:
    id: 1
    author: me
    comment: Test sequence creation
    changes:
    - createSequence:
        cacheSize: 0
        cycle: true
        sequenceName: MY_SEQ
EOF

liquibase --version where properties file exists, no --search-path defined
Execute ‘liquibase --version’ from this directory where liquibase.properties exists and note that the liquibase banner is not shown and the output states: Found 'liquibase.showBanner' configuration of 'false'. This indicates that the liquibase.properties file is being read when liquibase executes from the directory where the properties file exists.

liquibase --version

[2023-01-12 15:51:10] FINE [liquibase.resource] Creating resourceAccessor for directory /h/trporte/liquibase-trouble
[2023-01-12 15:51:10] FINE [liquibase.configuration] No configuration value for liquibase.searchPath found
[2023-01-12 15:51:10] FINE [liquibase.resource] Creating resourceAccessor for file /cots/unapproved/liquibase-4.17.2/internal/lib/liquibase-core.jar
[2023-01-12 15:51:10] FINE [liquibase.resource] Creating resourceAccessor for directory /cots/unapproved/liquibase-4.17.2/lib
[2023-01-12 15:51:10] FINE [liquibase.resource] Creating resourceAccessor for file /cots/unapproved/liquibase-4.17.2/internal/lib/snowflake-jdbc.jar
[2023-01-12 15:51:10] FINE [liquibase.resource] Creating resourceAccessor for file /cots/unapproved/liquibase-4.17.2/internal/lib/commons-text.jar
[2023-01-12 15:51:10] FINE [liquibase.resource] Creating resourceAccessor for file /cots/unapproved/liquibase-4.17.2/internal/lib/mariadb-java-client.jar
[2023-01-12 15:51:10] FINE [liquibase.resource] Creating resourceAccessor for file /cots/unapproved/liquibase-4.17.2/internal/lib/jaxb-core.jar
[2023-01-12 15:51:10] FINE [liquibase.resource] Creating resourceAccessor for file /cots/unapproved/liquibase-4.17.2/internal/lib/jaxb-api.jar
[2023-01-12 15:51:10] FINE [liquibase.resource] Creating resourceAccessor for file /cots/unapproved/liquibase-4.17.2/internal/lib/ojdbc8.jar
[2023-01-12 15:51:10] FINE [liquibase.resource] Creating resourceAccessor for file /cots/unapproved/liquibase-4.17.2/internal/lib/sqlite-jdbc.jar
[2023-01-12 15:51:10] FINE [liquibase.resource] Creating resourceAccessor for file /cots/unapproved/liquibase-4.17.2/internal/lib/jaxb-runtime.jar
[2023-01-12 15:51:10] FINE [liquibase.resource] Creating resourceAccessor for file /cots/unapproved/liquibase-4.17.2/internal/lib/postgresql.jar
[2023-01-12 15:51:10] FINE [liquibase.resource] Creating resourceAccessor for file /cots/unapproved/liquibase-4.17.2/internal/lib/commons-lang3.jar
[2023-01-12 15:51:10] FINE [liquibase.resource] Creating resourceAccessor for file /cots/unapproved/liquibase-4.17.2/internal/lib/connector-api.jar
[2023-01-12 15:51:10] FINE [liquibase.resource] Creating resourceAccessor for file /cots/unapproved/liquibase-4.17.2/internal/lib/commons-collections4.jar
[2023-01-12 15:51:10] FINE [liquibase.resource] Creating resourceAccessor for file /cots/unapproved/liquibase-4.17.2/internal/lib/jcc.jar
[2023-01-12 15:51:10] FINE [liquibase.resource] Creating resourceAccessor for file /cots/unapproved/liquibase-4.17.2/internal/lib/mssql-jdbc.jar
[2023-01-12 15:51:10] FINE [liquibase.resource] Creating resourceAccessor for file /cots/unapproved/liquibase-4.17.2/internal/lib/jaybird.jar
[2023-01-12 15:51:10] FINE [liquibase.resource] Creating resourceAccessor for file /cots/unapproved/liquibase-4.17.2/internal/lib/picocli.jar
[2023-01-12 15:51:10] FINE [liquibase.resource] Creating resourceAccessor for file /cots/unapproved/liquibase-4.17.2/internal/lib/h2.jar
[2023-01-12 15:51:10] FINE [liquibase.resource] Creating resourceAccessor for file /cots/unapproved/liquibase-4.17.2/internal/lib/liquibase-commercial.jar
[2023-01-12 15:51:10] FINE [liquibase.resource] Creating resourceAccessor for file /cots/unapproved/liquibase-4.17.2/internal/lib/snakeyaml.jar
[2023-01-12 15:51:10] FINE [liquibase.resource] Creating resourceAccessor for file /cots/unapproved/liquibase-4.17.2/internal/lib/hsqldb.jar
[2023-01-12 15:51:10] FINE [liquibase.resource] Creating resourceAccessor for file /cots/unapproved/liquibase-4.17.2/internal/lib/opencsv.jar
[2023-01-12 15:51:10] FINE [liquibase.resource] Creating resourceAccessor for directory /cots/unapproved/liquibase-4.17.2/internal/lib
[2023-01-12 15:51:10] FINE [liquibase.resource] Creating resourceAccessor for file /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.352.b08-2.el7_9.x86_64/jre/lib/ext/cldrdata.jar
[2023-01-12 15:51:10] FINE [liquibase.resource] Creating resourceAccessor for file /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.352.b08-2.el7_9.x86_64/jre/lib/ext/dnsns.jar
[2023-01-12 15:51:10] FINE [liquibase.resource] Creating resourceAccessor for file /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.352.b08-2.el7_9.x86_64/jre/lib/ext/jaccess.jar
[2023-01-12 15:51:10] FINE [liquibase.resource] Creating resourceAccessor for file /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.352.b08-2.el7_9.x86_64/jre/lib/ext/localedata.jar
[2023-01-12 15:51:10] FINE [liquibase.resource] Creating resourceAccessor for file /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.352.b08-2.el7_9.x86_64/jre/lib/ext/nashorn.jar
[2023-01-12 15:51:10] FINE [liquibase.resource] Creating resourceAccessor for file /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.352.b08-2.el7_9.x86_64/jre/lib/ext/sunec.jar
[2023-01-12 15:51:10] FINE [liquibase.resource] Creating resourceAccessor for file /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.352.b08-2.el7_9.x86_64/jre/lib/ext/sunjce_provider.jar
[2023-01-12 15:51:10] FINE [liquibase.resource] Creating resourceAccessor for file /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.352.b08-2.el7_9.x86_64/jre/lib/ext/sunpkcs11.jar
[2023-01-12 15:51:10] FINE [liquibase.resource] Creating resourceAccessor for file /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.352.b08-2.el7_9.x86_64/jre/lib/ext/zipfs.jar
[2023-01-12 15:51:10] FINE [liquibase.resource] Overall search path:
  - /h/trporte/liquibase-trouble
  - /cots/unapproved/liquibase-4.17.2/internal/lib/liquibase-core.jar
  - /cots/unapproved/liquibase-4.17.2/lib
  - /cots/unapproved/liquibase-4.17.2/internal/lib/snowflake-jdbc.jar
  - /cots/unapproved/liquibase-4.17.2/internal/lib/commons-text.jar
  - /cots/unapproved/liquibase-4.17.2/internal/lib/mariadb-java-client.jar
  - /cots/unapproved/liquibase-4.17.2/internal/lib/jaxb-core.jar
  - /cots/unapproved/liquibase-4.17.2/internal/lib/jaxb-api.jar
  - /cots/unapproved/liquibase-4.17.2/internal/lib/ojdbc8.jar
  - /cots/unapproved/liquibase-4.17.2/internal/lib/sqlite-jdbc.jar
  - /cots/unapproved/liquibase-4.17.2/internal/lib/jaxb-runtime.jar
  - /cots/unapproved/liquibase-4.17.2/internal/lib/postgresql.jar
  - /cots/unapproved/liquibase-4.17.2/internal/lib/commons-lang3.jar
  - /cots/unapproved/liquibase-4.17.2/internal/lib/connector-api.jar
  - /cots/unapproved/liquibase-4.17.2/internal/lib/commons-collections4.jar
  - /cots/unapproved/liquibase-4.17.2/internal/lib/jcc.jar
  - /cots/unapproved/liquibase-4.17.2/internal/lib/mssql-jdbc.jar
  - /cots/unapproved/liquibase-4.17.2/internal/lib/jaybird.jar
  - /cots/unapproved/liquibase-4.17.2/internal/lib/picocli.jar
  - /cots/unapproved/liquibase-4.17.2/internal/lib/h2.jar
  - /cots/unapproved/liquibase-4.17.2/internal/lib/liquibase-commercial.jar
  - /cots/unapproved/liquibase-4.17.2/internal/lib/snakeyaml.jar
  - /cots/unapproved/liquibase-4.17.2/internal/lib/hsqldb.jar
  - /cots/unapproved/liquibase-4.17.2/internal/lib/opencsv.jar
  - /cots/unapproved/liquibase-4.17.2/internal/lib
  - /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.352.b08-2.el7_9.x86_64/jre/lib/ext/cldrdata.jar
  - /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.352.b08-2.el7_9.x86_64/jre/lib/ext/dnsns.jar
  - /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.352.b08-2.el7_9.x86_64/jre/lib/ext/jaccess.jar
  - /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.352.b08-2.el7_9.x86_64/jre/lib/ext/localedata.jar
  - /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.352.b08-2.el7_9.x86_64/jre/lib/ext/nashorn.jar
  - /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.352.b08-2.el7_9.x86_64/jre/lib/ext/sunec.jar
  - /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.352.b08-2.el7_9.x86_64/jre/lib/ext/sunjce_provider.jar
  - /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.352.b08-2.el7_9.x86_64/jre/lib/ext/sunpkcs11.jar
  - /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.352.b08-2.el7_9.x86_64/jre/lib/ext/zipfs.jar
[2023-01-12 15:51:10] FINE [liquibase.configuration] No configuration value for liquibase.shouldRun aka should.run found
[2023-01-12 15:51:10] FINE [liquibase.configuration] Configuration liquibase.shouldRun is using the default value of true
[2023-01-12 15:51:10] FINE [liquibase.configuration] No configuration value for liquibase.monitorPerformance found
[2023-01-12 15:51:10] FINE [liquibase.configuration] Configuration liquibase.monitorPerformance is using the default value of false
[2023-01-12 15:51:10] FINE [liquibase.integration] Performance monitoring disabled
[2023-01-12 15:51:10] FINE [liquibase.configuration] Found 'liquibase.showBanner' configuration of 'false'
    file exists at path liquibase.properties 'liquibase.showBanner' of 'false'
Starting Liquibase at 15:51:10 (version 4.17.2 #5255 built at 2022-11-01 18:07+0000)
Liquibase Home: /cots/unapproved/liquibase-4.17.2
Java Home /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.352.b08-2.el7_9.x86_64/jre (Version 1.8.0_352)
Libraries:
- internal/lib/commons-collections4.jar: Apache Commons Collections 4.4.0 By The Apache Software Foundation
- internal/lib/commons-lang3.jar: Apache Commons Lang 3.12.0 By The Apache Software Foundation
- internal/lib/commons-text.jar: Apache Commons Text 1.10.0 By The Apache Software Foundation
- internal/lib/connector-api.jar: J2EE Connector Architecture API Specification 1.5 By Sun Microsystems, Inc.
- internal/lib/h2.jar: H2 Database Engine 2.1.214 By H2 Group
- internal/lib/hsqldb.jar: HSQLDB 2.7.1 By The HSQL Development Group
- internal/lib/jaxb-api.jar: jaxb-api 2.3.1 By Oracle Corporation
- internal/lib/jaxb-core.jar: JAXB Core 4.0.1 By Eclipse Foundation
- internal/lib/jaxb-runtime.jar: JAXB Runtime 4.0.1 By Eclipse Foundation
- internal/lib/jaybird.jar: Jaybird 4.0.6.java8 (build: variant=jaybird tag=v4.0.6 date=202204271624) By Firebird project
- internal/lib/jcc.jar: IBM JCC JDBC 4 Driver 1.4.0 By IBM
- internal/lib/liquibase-commercial.jar: Commercial Liquibase Functionality 4.17.2 By Liquibase
- internal/lib/mariadb-java-client.jar: mariadb-java-client 3.0.8 By mariadb.com
- internal/lib/mssql-jdbc.jar: Microsoft JDBC Driver for SQL Server 11.2.1 By Microsoft Corporation
- internal/lib/ojdbc8.jar: JDBC 21.6.0.0.0 By Oracle Corporation
- internal/lib/opencsv.jar: opencsv 5.7.1
- internal/lib/picocli.jar: picocli 4.6.3 By Remko Popma
- internal/lib/postgresql.jar: PostgreSQL JDBC Driver 42.5.0 By PostgreSQL Global Development Group
- internal/lib/snakeyaml.jar: SnakeYAML 1.33.0
- internal/lib/snowflake-jdbc.jar: snowflake-jdbc 3.13.22
- internal/lib/sqlite-jdbc.jar: SQLite JDBC 3.39.3.0


Liquibase Version: 4.17.2
Liquibase Community 4.17.2 by Liquibase

liquibase --version from directory without a properties file, no --search-path defined
cd back to $HOME and execute ‘liquibase --version’ from there. This time the Liquibase banner appears as expected because liquibase cannot find a properties file (none in the current directory and no --search-path is defined)

cd $HOME
liquibase --version

# Output
dev46 ~ $ liquibase --version
####################################################
##   _     _             _ _                      ##
##  | |   (_)           (_) |                     ##
##  | |    _  __ _ _   _ _| |__   __ _ ___  ___   ##
##  | |   | |/ _` | | | | | '_ \ / _` / __|/ _ \  ##
##  | |___| | (_| | |_| | | |_) | (_| \__ \  __/  ##
##  \_____/_|\__, |\__,_|_|_.__/ \__,_|___/\___|  ##
##              | |                               ##
##              |_|                               ##
##                                                ##
##  Get documentation at docs.liquibase.com       ##
##  Get certified courses at learn.liquibase.com  ##
##  Free schema change activity reports at        ##
##      https://hub.liquibase.com                 ##
##                                                ##
####################################################
Starting Liquibase at 15:53:57 (version 4.17.2 #5255 built at 2022-11-01 18:07+0000)
Liquibase Home: /cots/unapproved/liquibase-4.17.2
Java Home /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.352.b08-2.el7_9.x86_64/jre (Version 1.8.0_352)
Libraries:
- internal/lib/commons-collections4.jar: Apache Commons Collections 4.4.0 By The Apache Software Foundation
- internal/lib/commons-lang3.jar: Apache Commons Lang 3.12.0 By The Apache Software Foundation
- internal/lib/commons-text.jar: Apache Commons Text 1.10.0 By The Apache Software Foundation
- internal/lib/connector-api.jar: J2EE Connector Architecture API Specification 1.5 By Sun Microsystems, Inc.
- internal/lib/h2.jar: H2 Database Engine 2.1.214 By H2 Group
- internal/lib/hsqldb.jar: HSQLDB 2.7.1 By The HSQL Development Group
- internal/lib/jaxb-api.jar: jaxb-api 2.3.1 By Oracle Corporation
- internal/lib/jaxb-core.jar: JAXB Core 4.0.1 By Eclipse Foundation
- internal/lib/jaxb-runtime.jar: JAXB Runtime 4.0.1 By Eclipse Foundation
- internal/lib/jaybird.jar: Jaybird 4.0.6.java8 (build: variant=jaybird tag=v4.0.6 date=202204271624) By Firebird project
- internal/lib/jcc.jar: IBM JCC JDBC 4 Driver 1.4.0 By IBM
- internal/lib/liquibase-commercial.jar: Commercial Liquibase Functionality 4.17.2 By Liquibase
- internal/lib/mariadb-java-client.jar: mariadb-java-client 3.0.8 By mariadb.com
- internal/lib/mssql-jdbc.jar: Microsoft JDBC Driver for SQL Server 11.2.1 By Microsoft Corporation
- internal/lib/ojdbc8.jar: JDBC 21.6.0.0.0 By Oracle Corporation
- internal/lib/opencsv.jar: opencsv 5.7.1
- internal/lib/picocli.jar: picocli 4.6.3 By Remko Popma
- internal/lib/postgresql.jar: PostgreSQL JDBC Driver 42.5.0 By PostgreSQL Global Development Group
- internal/lib/snakeyaml.jar: SnakeYAML 1.33.0
- internal/lib/snowflake-jdbc.jar: snowflake-jdbc 3.13.22
- internal/lib/sqlite-jdbc.jar: SQLite JDBC 3.39.3.0


Liquibase Version: 4.17.2
Liquibase Community 4.17.2 by Liquibase

liquibase --version from directory without the properties file, --search-path IS defined
Now from $HOME execute ‘liquibase --search-path=$HOME/liquibase-trouble --version’. liquibase properly finds the properties file and does not show the Banner. This executes as we would expect.

cd $HOME
liquibase --search-path=$HOME/liquibase-trouble --version

# Output
dev46 liquibase-trouble $ liquibase --search-path=$HOME/liquibase-trouble --version
[2023-01-12 16:13:07] FINE [liquibase.resource] Creating resourceAccessor for directory /h/trporte/liquibase-trouble
[2023-01-12 16:13:07] FINE [liquibase.configuration] Found 'liquibase.searchPath' configuration of '/home/trporte/liquibase-trouble'
    command argument '--search-path' of '/home/trporte/liquibase-trouble'
[2023-01-12 16:13:07] FINE [liquibase.resource] Creating resourceAccessor for directory /home/trporte/liquibase-trouble
[2023-01-12 16:13:07] FINE [liquibase.resource] Overall search path:
  - /home/trporte/liquibase-trouble
[2023-01-12 16:13:07] FINE [liquibase.configuration] No configuration value for liquibase.shouldRun aka should.run found
[2023-01-12 16:13:07] FINE [liquibase.configuration] Configuration liquibase.shouldRun is using the default value of true
[2023-01-12 16:13:07] FINE [liquibase.configuration] No configuration value for liquibase.monitorPerformance found
[2023-01-12 16:13:07] FINE [liquibase.configuration] Configuration liquibase.monitorPerformance is using the default value of false
[2023-01-12 16:13:07] FINE [liquibase.integration] Performance monitoring disabled
[2023-01-12 16:13:07] FINE [liquibase.configuration] Found 'liquibase.showBanner' configuration of 'false'
    file exists at path liquibase.properties 'liquibase.showBanner' of 'false'
Starting Liquibase at 16:13:07 (version 4.17.2 #5255 built at 2022-11-01 18:07+0000)
Liquibase Home: /cots/unapproved/liquibase-4.17.2
Java Home /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.352.b08-2.el7_9.x86_64/jre (Version 1.8.0_352)
Libraries:
- internal/lib/commons-collections4.jar: Apache Commons Collections 4.4.0 By The Apache Software Foundation
- internal/lib/commons-lang3.jar: Apache Commons Lang 3.12.0 By The Apache Software Foundation
- internal/lib/commons-text.jar: Apache Commons Text 1.10.0 By The Apache Software Foundation
- internal/lib/connector-api.jar: J2EE Connector Architecture API Specification 1.5 By Sun Microsystems, Inc.
- internal/lib/h2.jar: H2 Database Engine 2.1.214 By H2 Group
- internal/lib/hsqldb.jar: HSQLDB 2.7.1 By The HSQL Development Group
- internal/lib/jaxb-api.jar: jaxb-api 2.3.1 By Oracle Corporation
- internal/lib/jaxb-core.jar: JAXB Core 4.0.1 By Eclipse Foundation
- internal/lib/jaxb-runtime.jar: JAXB Runtime 4.0.1 By Eclipse Foundation
- internal/lib/jaybird.jar: Jaybird 4.0.6.java8 (build: variant=jaybird tag=v4.0.6 date=202204271624) By Firebird project
- internal/lib/jcc.jar: IBM JCC JDBC 4 Driver 1.4.0 By IBM
- internal/lib/liquibase-commercial.jar: Commercial Liquibase Functionality 4.17.2 By Liquibase
- internal/lib/mariadb-java-client.jar: mariadb-java-client 3.0.8 By mariadb.com
- internal/lib/mssql-jdbc.jar: Microsoft JDBC Driver for SQL Server 11.2.1 By Microsoft Corporation
- internal/lib/ojdbc8.jar: JDBC 21.6.0.0.0 By Oracle Corporation
- internal/lib/opencsv.jar: opencsv 5.7.1
- internal/lib/picocli.jar: picocli 4.6.3 By Remko Popma
- internal/lib/postgresql.jar: PostgreSQL JDBC Driver 42.5.0 By PostgreSQL Global Development Group
- internal/lib/snakeyaml.jar: SnakeYAML 1.33.0
- internal/lib/snowflake-jdbc.jar: snowflake-jdbc 3.13.22
- internal/lib/sqlite-jdbc.jar: SQLite JDBC 3.39.3.0


Liquibase Version: 4.17.2
Liquibase Community 4.17.2 by Liquibase

‘liquibase update’ FAILS from directory WITHOUT the properties file, --search-path IS defined
Unlike with the --version command, when executing the liquibase update command from $HOME, even with --search-path defined, the liquibase.properties file is not read as evidenced by the appearance of the Liquibase Banner and liquibase errors due to lack of changelogFile. Specifying --log-level=FINE via CLI to ensure we get a log.

cd $HOME
liquibase --search-path=$HOME/liquibase-trouble --url="jdbc:postgresql://localhost:5432/fd" --default-schema-name=fd --log-level=FINE --log-file=$HOME/liquibase-trouble/liquibase.log --username=appowner --password=appowner update

# Output:
####################################################
##   _     _             _ _                      ##
##  | |   (_)           (_) |                     ##
##  | |    _  __ _ _   _ _| |__   __ _ ___  ___   ##
##  | |   | |/ _` | | | | | '_ \ / _` / __|/ _ \  ##
##  | |___| | (_| | |_| | | |_) | (_| \__ \  __/  ##
##  \_____/_|\__, |\__,_|_|_.__/ \__,_|___/\___|  ##
##              | |                               ##
##              |_|                               ##
##                                                ##
##  Get documentation at docs.liquibase.com       ##
##  Get certified courses at learn.liquibase.com  ##
##  Free schema change activity reports at        ##
##      https://hub.liquibase.com                 ##
##                                                ##
####################################################
Starting Liquibase at 15:57:09 (version 4.17.2 #5255 built at 2022-11-01 18:07+0000)
Liquibase Version: 4.17.2
Liquibase Community 4.17.2 by Liquibase
Error parsing command line: Invalid argument '--changelog-file': missing required argument. If you need to configure new liquibase project files and arguments, run the 'liquibase init project' command.

For detailed help, try 'liquibase --help' or 'liquibase <command-name> --help'
Logs saved to /home/trporte/liquibase-trouble/liquibase.log

‘liquibase update’ FAILS from directory WITHOUT the properties file, --search-path IS defined, --classpath IS defined
Even if we add the location of the properties file to --classpath, it still fails.

cd $HOME
liquibase --search-path=$HOME/liquibase-trouble --classpath=$HOME/liquibase-trouble --url="jdbc:postgresql://localhost:5432/fd" --default-schema-name=fd --log-level=FINE --log-file=$HOME/liquibase-trouble/liquibase.log --username=appowner --password=appowner update

####################################################
##   _     _             _ _                      ##
##  | |   (_)           (_) |                     ##
##  | |    _  __ _ _   _ _| |__   __ _ ___  ___   ##
##  | |   | |/ _` | | | | | '_ \ / _` / __|/ _ \  ##
##  | |___| | (_| | |_| | | |_) | (_| \__ \  __/  ##
##  \_____/_|\__, |\__,_|_|_.__/ \__,_|___/\___|  ##
##              | |                               ##
##              |_|                               ##
##                                                ##
##  Get documentation at docs.liquibase.com       ##
##  Get certified courses at learn.liquibase.com  ##
##  Free schema change activity reports at        ##
##      https://hub.liquibase.com                 ##
##                                                ##
####################################################
Starting Liquibase at 16:35:56 (version 4.17.2 #5255 built at 2022-11-01 18:07+0000)
Liquibase Version: 4.17.2
Liquibase Community 4.17.2 by Liquibase
Error parsing command line: Invalid argument '--changelog-file': missing required argument. If you need to configure new liquibase project files and arguments, run the 'liquibase init project' command.

For detailed help, try 'liquibase --help' or 'liquibase <command-name> --help'
Logs saved to /home/trporte/liquibase-trouble/liquibase.log

‘liquibase update’ only SUCCEEDS when run from directory WITH the properties file, --search-path IS defined
It appears that only if liquibase update is run from the directory containing the properties file (same location as --search-path is set to), it works as expected with no banner shown.

cd $HOME/liquibase-trouble
liquibase --search-path=$HOME/liquibase-trouble --url="jdbc:postgresql://localhost:5432/fd" --default-schema-name=fd --log-level=FINE --log-file=$HOME/liquibase-trouble/liquibase.log --username=appowner --password=appowner update

# Output
Starting Liquibase at 15:58:52 (version 4.17.2 #5255 built at 2022-11-01 18:07+0000)
Liquibase Version: 4.17.2
Liquibase Community 4.17.2 by Liquibase
Running Changeset: changelog.yaml::1::me
Logs saved to /home/trporte/liquibase-trouble/liquibase.log
Liquibase command 'update' was executed successfully.
1 Like

I opened GitHub Issue 3769 for this and included all the relevant info provided here in the Issue.