liquibase / liquibase-gradle-plugin

A Gradle plugin for Liquibase
Other
197 stars 57 forks source link

Snakeyaml error when running diffChangelog #146

Open jasperjanuar opened 1 month ago

jasperjanuar commented 1 month ago

Version:

liquibase.properties

liquibase.searchPath=src/main/resources/db
url=jdbc:postgresql://localhost:5432/foo
username=foo
password=foo
changelogFile=src/main/resources/db/db.changelog-master.yml
referenceDriver=liquibase.ext.hibernate.database.connection.HibernateDriver
referenceUrl=hibernate:spring:com.januar\
  ?dialect=org.hibernate.dialect.PostgreSQLDialect\
  &hibernate.physical_naming_strategy=org.hibernate.boot.model.naming.CamelCaseToUnderscoresNamingStrategy\
  &hibernate.implicit_naming_strategy=org.springframework.boot.orm.jpa.hibernate.SpringImplicitNamingStrategy

Issue When running diffChangelog I get the following error

liquibase-plugin: Running the 'main' activity...
May 03, 2024 9:35:02 AM liquibase.servicelocator
INFO: Cannot load service
java.util.ServiceConfigurationError: liquibase.command.CommandStep: Provider com.datical.liquibase.ext.command.checks.ChecksCreateCommandStep could not be instantiated
    at java.base/java.util.ServiceLoader.fail(ServiceLoader.java:586)
    at java.base/java.util.ServiceLoader$ProviderImpl.newInstance(ServiceLoader.java:813)
    at java.base/java.util.ServiceLoader$ProviderImpl.get(ServiceLoader.java:729)
    at java.base/java.util.ServiceLoader$3.next(ServiceLoader.java:1403)
    at liquibase.servicelocator.StandardServiceLocator.findInstances(StandardServiceLocator.java:24)
    at liquibase.command.CommandFactory.findAllInstances(CommandFactory.java:244)
    at liquibase.command.CommandFactory.getCommands(CommandFactory.java:163)
    at liquibase.integration.commandline.LiquibaseCommandLine.getCommands(LiquibaseCommandLine.java:1115)
    at liquibase.integration.commandline.LiquibaseCommandLine.buildPicoCommandLine(LiquibaseCommandLine.java:218)
    at liquibase.integration.commandline.LiquibaseCommandLine.<init>(LiquibaseCommandLine.java:194)
    at liquibase.integration.commandline.LiquibaseCommandLine.main(LiquibaseCommandLine.java:102)
Caused by: java.lang.NoClassDefFoundError: org/yaml/snakeyaml/inspector/TagInspector
    at liquibase.util.SnakeYamlUtil.lambda$setDefaultTagInspector$3(SnakeYamlUtil.java:38)
    at liquibase.util.SnakeYamlUtil.safelyCallNewSnakeYamlMethod(SnakeYamlUtil.java:46)
    at liquibase.util.SnakeYamlUtil.setDefaultTagInspector(SnakeYamlUtil.java:38)
    at com.datical.liquibase.ext.checks.config.CheckSettingsConfigYaml.<init>(CheckSettingsConfigYaml.java:29)
    at com.datical.liquibase.ext.command.checks.ChecksCreateCommandStep.<clinit>(ChecksCreateCommandStep.java:33)
    at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:77)
    at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499)
    at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:480)
    at java.base/java.util.ServiceLoader$ProviderImpl.newInstance(ServiceLoader.java:789)
    ... 9 more
Caused by: java.lang.ClassNotFoundException: org.yaml.snakeyaml.inspector.TagInspector
    at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641)
    at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)
    at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:525)
    ... 20 more

The changelog is created as expected, but errors are thrown. The error is not thrown in version 4.26.0