liquibase-core.jar contains ServiceLoader files

Description

Starting with version 3.8.1 (observed with 3.8.2 as well), the liquibase-core.jar contains files in META-INF/services that belong to Jackson. This leads to runtime errors when Liquibase and Jackson are used in the same project. I've built a minimal example project at https://github.com/MenschNestor/liquibase-bug that exposes the issue, which revolves around the ServiceLoader mechanism in Java.

Please make sure that the JAR file does not contain foreign service provider configuration files.

Environment

Maven 3.6.3, Java 11

Activity

Show:

Former user March 24, 2020 at 5:48 PM

Thanks everyone for raising the priority on this. This has now been moved to github issue #1051, and I am going to close it here as ‘migrated’.

Ben Madore March 24, 2020 at 4:44 PM

Just FYI this is causing lots of folks to be really confused and spending unnecessary time debugging. Seems like this should get resolved asap as it’s clearly wrong, and will prevent unnecessary pain to many devs trying to figure out what is wrong. For instance:

Christoph Seibert February 10, 2020 at 7:07 AM

The issue still exists in 3.8.6.

Matej Spiller Muys February 4, 2020 at 11:39 AM

Any updates on this issue? The same error is still in latest 3.8.5 …

Martin Benda January 14, 2020 at 11:06 AM

+1

Same problem here. Another library calls findAndRegisterModules() (which is perfectly fine), but META-INF/services files in liquibase-core.jar reference classes that must be explicitly added to classpath as a workaround for this bug.

Migrated

Details

Reporter

Affects versions

Priority

Created December 2, 2019 at 5:33 PM
Updated March 24, 2020 at 8:54 PM
Resolved March 24, 2020 at 8:54 PM