Custom extensions and the classpath

We have some custom extensions that we use with Liquibase. Until 3.6 adding the jar file containing our extensions to the --classpath parameter (or in liquibase.properties) would load those extensions without problems.

It seems that starting with 3.8 extension classes are only scanned on the default classpath provided through “java -cp …” because with 3.8 (or anything after that) our extensions are not found and not executed.

If we drop our own jar file into Liquibase’s “lib” directory, the extensions are found and work correctly in all 3.8.9, 3.10.3 and 4.2.2

I found one post that indicated that we would need to add Liquibase-Package to our MANIFEST.MF.

So I added “Liquibase-Package: liquibase.ext” to the MANIFEST.MF of our jar file as all our extensions are located in liquibase.ext - but that didn’t make a difference.

Is there an option to get the old behaviour back? I.e. that the classpath specified with --classpath is also scanned for extensions? I would like to avoid messing with the installed Liquibase version (on the target computer running this) if at all possible.

What am I missing?

Hi @truls ,

I think the quickest way to address this is to log it as an issue (since we want to change functionality back, which is a change of behavior).

-Ronak