You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
i'm trying to get a spring 4.x application onto spring-boot. a problem i've run into, is that you can't have Liquibase 2.x libraries on the classpath or spring-boot intialization fails.
at org.springframework.boot.liquibase.LiquibaseServiceLocatorApplicationListener.onApplicationEvent(LiquibaseServiceLocatorApplicationListener.java:44)
at org.springframework.boot.liquibase.LiquibaseServiceLocatorApplicationListener.onApplicationEvent(LiquibaseServiceLocatorApplicationListener.java:35)
at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:167)
at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:139)
at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:122)
at org.springframework.boot.context.event.EventPublishingRunListener.starting(EventPublishingRunListener.java:68)
at org.springframework.boot.SpringApplicationRunListeners.starting(SpringApplicationRunListeners.java:48)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:303)`
the application listener does this :
if (ClassUtils.isPresent("liquibase.servicelocator.ServiceLocator", null)) { new LiquibasePresent().replaceServiceLocator(); }
the problem is, the class it is looking for exists in 2.x Liquibase, but the classes the "replacer" looks for don't.
and there is no switch to stop this from happening, since it is an application listener.
this is a problem for me, as i'd like to upgrade to 3.x, but i'm having trouble, and wanted to be able to do some testing with 2.x vs 3.x ... but this listener prevents me from having any control at all over whether i can have Liquibase 2.x on the classpath.
The text was updated successfully, but these errors were encountered:
Thanks for the analysis. We can tighten things up by checking for liquibase.servicelocator.CustomResolverServiceLocator. In the meantime, you can work around the problem with the following, slightly clunky approach:
`CustomResolverServiceLocator` was introduced in Liquibase 2.0.4, this
check prevents failures during initialization when previous versions are
used.
See spring-projectsgh-11608
Uh oh!
There was an error while loading. Please reload this page.
i'm trying to get a spring 4.x application onto spring-boot. a problem i've run into, is that you can't have Liquibase 2.x libraries on the classpath or spring-boot intialization fails.
`java.lang.NoClassDefFoundError: liquibase/servicelocator/CustomResolverServiceLocator
the application listener does this :
if (ClassUtils.isPresent("liquibase.servicelocator.ServiceLocator", null)) { new LiquibasePresent().replaceServiceLocator(); }
the problem is, the class it is looking for exists in 2.x Liquibase, but the classes the "replacer" looks for don't.
and there is no switch to stop this from happening, since it is an application listener.
this is a problem for me, as i'd like to upgrade to 3.x, but i'm having trouble, and wanted to be able to do some testing with 2.x vs 3.x ... but this listener prevents me from having any control at all over whether i can have Liquibase 2.x on the classpath.
The text was updated successfully, but these errors were encountered: