If liquibase.jar is nested in another jar/war/ear, it fails to start with a "cannot find implementation of liquibase.logging.Logger" error


From http://stackoverflow.com/questions/24928673/spring-boot-jetty-liquibase-jar-not-find-implementation-of-liquibase-logging :

boot '1.1.3.RELEASE' app with gradle 2.0 and when I fire ./gradlew bootRun everything works fine but when I fire the app with java -jar -Dspring.profile.active=prod build/lib/myapp.jar I see always an error:

Caused by: liquibase.exception.ServiceNotFoundException: liquibase.exception.ServiceNotFoundException: Could not find implementation of liquibase.logging.Logger at liquibase.servicelocator.ServiceLocator.newInstance(ServiceLocator.java:192) at liquibase.logging.LogFactory.getLog(LogFactory.java:44) ... 38 more


Applications with nested jars, including spring-boot and jhipster


Nathan Voxland
September 23, 2014, 4:22 PM

Fixed in 3.2.3

Marcin Grzejszczak
October 6, 2014, 12:39 PM

Is there any workaround for this until there is a new release of Liquibase?

Nathan Voxland
October 21, 2014, 9:08 PM

Unfortuantely no. The new release shoudl be out later this week or early next.

Saurav Tapader
December 2, 2014, 7:28 AM

I got the same error.
I am using liquibase 3.3.0 with teradata extension(with the latest fix), Spring boot 1.1.9, gradle 2.2.1.


Nathan Voxland

Fix versions

Affects versions