Issue with Spring boot 1.4.0 - 1.4.3

Description

When running Spring boot 1.4.0 (liquibase 3.5.1), with following configuration :

Java 1.8.0
The db.changelog-master.yaml contains an includeAll reference (relative to file location)
SpringBoot is ran not as standalone but as a Jar deployed from an existing Tomcat instance

we have following problem :

Liquibase complains the folder is empty / no file found.
Tracing down roughly shows that the system is comparing a start path like 'jar:file:[correct path to jar]![correct includeAll folder path]' to the path inside the jar, like includeAll folder path...
obviously, it cannot work...

A QUICK fix would be much appreciated as this is blocking our migration to SpringBoot 1.4.0 (SpringBoot 1.3.6, with liquibase 3.5.2 works with exactly the same configuration)

Environment

springboot 1.4.0, tomcat 7, java 8

Attachments

1

Activity

Show:

Rafał Malinowski October 31, 2017 at 11:14 AM
Edited

I'm not sure if anybody still have this issue, but I've managed to make spring boot 1.5.3.RELEASE working with liquibase 3.4.2.

The only thing that have to be done is to add property <requiresUnpack> to spring boot maven plugin configuration.

So in my case where liquibase configuration is hold in module called core so plugin configuration in spring boot module should looks like this:

I hope this will be helpful for someone.

Claude Ciocan August 17, 2017 at 6:04 PM

I've opened a PR that I believe resolves this issue. If anyone can take a look at it and please provide some feedback, that would be great!

https://github.com/liquibase/liquibase/pull/698

Yevgeny V August 7, 2017 at 4:59 PM

I as well am looking forward to getting this issue solved.

Meanwhile I can suggest as a workaround unpacking the Spring Boot executable jar and running the exploded package with JarLauncher (if that is an option in your deployment setup)
For example if your Spring Boot application is packaged as `bootapp.jar`:

TmB2BDev May 29, 2017 at 9:41 AM

Confirm it is not working for us as well...
spring(4.3.4.RELEASE) + liquibase(3.5.3) + includeAll
IncludeAll does not work even from the same jar. Directly include file is working.

Fred Puistaja May 2, 2017 at 7:37 AM
Edited

Same problem for me using Spring Boot v1.3.8 and Liquibase v3.5.3.
I downgraded to Liquibase 3.4.2 and everything works.

My changes are inside core.jar and I run application.jar

Einar Pehrson February 21, 2017 at 6:00 PM

Nathan, I'm experiencing CORE-2876, exactly as described in that ticket. You commented saying it was fixed in 3.5.2, but that's not what I'm seeing. I also see no commits with that issue key, so I guess you mean that this issue was fixed by another change? If so, which one?

This ticket seems very similar, so I'm guessing John Gougoul is describing the same problem. It also looks like may again be describing the same bug.

This is what I found in my testing against different versions of Spring Boot and Liquibase, which - interestingly different from John's conclusion - suggests this bug was introduced in Liquibase 3.5.0 and has yet to be fixed.

Spring Boot version

Liquibase version

Working?

1.3.5

3.4.2 (per spring-boot-dependencies)

1.4.0

3.4.2

incompatible versions? ChangeLogParseException: Could not find databaseChangeLog node

1.3.5

3.5.0

includeAll does nothing

1.4.0

3.5.1 (per spring-boot-dependencies)

includeAll does nothing

1.5.1

3.5.3 (per spring-boot-dependencies)

includeAll does nothing

john gougoul February 13, 2017 at 9:31 AM

Already, the case happens if the folder/files are in a different Jar than the "main jar".
If they're in the same, no problem, it works...

You have the file attached...

john gougoul January 25, 2017 at 10:23 AM

Yes, I have a test case. Since you know it's not working, closing it as fixed is a bit so-so...

Nathan Voxland November 16, 2016 at 2:49 PM

Do you have a test case or more reproduction steps?

Sebastian Dietrich November 15, 2016 at 9:26 PM

@nvoxland - It is definitively not fixed. Still there with spring-boot 1.4.2 - liquibase 3.5.3

Nathan Voxland September 20, 2016 at 9:31 PM

I'm not able to replicate this with the code for the 3.5.2 release. It has probably been fixed by other issues int hat release.

Fixed

Details

Reporter

Fix versions

Affects versions

Priority

Created August 20, 2016 at 2:16 PM
Updated May 11, 2018 at 6:20 AM
Resolved February 8, 2018 at 3:14 PM