include-system-classpath parameter

The include-system-classpath parameter defines whether Liquibase includes the system classpath when resolving classes at runtime. The default value is true.

Uses

The Liquibase classpath refers to locations searched for drivers, extension, and changelog files. Liquibase always includes:

  • Locations in the classpath setting
  • The current directory
  • Files in the LIQUIBASE_HOME/lib directory

Tip: For more information about the Liquibase classpath and files, see How Liquibase Finds Files: Liquibase Classpath.

When you use the include-system-classpath parameter set to true, Liquibase also includes locations configured within the underlying Java system.

Setting the include-system-classpath parameter

You can set the include-system-classpath parameter in one of the following ways:

include-system-classpath as a Java system property:

You can set the include-system-classpath parameter as a Java system property by using the JAVA_OPTS Environment Variable in your command line.

The syntax for Mac/Linux:

JAVA_OPTS=-Dliquibase.includeSystemClasspath=<true|false>

The syntax for Windows, which requires the set command:

set JAVA_OPTS=-Dliquibase.includeSystemClasspath=<true|false>

include-system-classpath in the liquibase.properties file

You can set the include-system-classpath parameter by adding the following to your liquibase.properties file:

liquibase.includeSystemClasspath: <true|false>

include-system-classpath as a CLI global parameter

You can use include-system-classpath as a global parameter in your command line with a Liquibase command, such as update:

liquibase --include-system-classpath=<true|false> update --changelog-file=dbchangelog.xml

include-system-classpath as an environment variable

If you use Liquibase Pro, you can set include-system-classpath as an environment variable. The syntax for Mac/Linux:

LIQUIBASE_INCLUDE_SYSTEM_CLASSPATH=<true|false>

The syntax for Windows, which requires the set command:

set LIQUIBASE_INCLUDE_SYSTEM_CLASSPATH=<true|false>

Note: The commands shown above only apply to the current shell. If you need to pass an environment variable to a child process without affecting the parent process, you can use the export command on Mac/Linux or the setx command on Windows.