Невозможно получить общедоступный конструктор без аргументов для ChangeLogParser Liquibase.JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Невозможно получить общедоступный конструктор без аргументов для ChangeLogParser Liquibase.

Сообщение Anonymous »

Используя maven, у меня есть зависимость от ядра Liquibase в моем pom.xml:

Код: Выделить всё

 
org.liquibase
liquibase-core
4.27.0

Когда я выполняю

Код: Выделить всё

CommandScope updateCommand = new CommandScope("update")
.addArgumentValue("driver", String.valueOf(map.get("driver")))
.addArgumentValue("url", String.valueOf(map.get("liquibase.command.url")))
.addArgumentValue("username", String.valueOf(map.get("liquibase.command.username")))
.addArgumentValue("password", String.valueOf(map.get("liquibase.command.password")))
.addArgumentValue(UpdateCommandStep.CHANGELOG_FILE_ARG, LIQUIBASE_CHANGELOG_FILE)
.addArgumentValue(UpdateCommandStep.CONTEXTS_ARG, String.valueOf(map.get("contexts")));

updateCommand.execute();
У меня возникла следующая ошибка в updateCommand.execute()

Код: Выделить всё

liquibase.servicelocator.null Cannot load service
java.util.ServiceConfigurationError: liquibase.parser.ChangeLogParser: com.datical.liquibase.ext.parser.ProFormattedSqlChangeLogParser Unable to get public no-arg constructor
at java.base/java.util.ServiceLoader.fail(ServiceLoader.java:581)
at java.base/java.util.ServiceLoader.getConstructor(ServiceLoader.java:672)
at java.base/java.util.ServiceLoader$LazyClassPathLookupIterator.hasNextService(ServiceLoader.java:1232)
at java.base/java.util.ServiceLoader$LazyClassPathLookupIterator.hasNext(ServiceLoader.java:1264)
at java.base/java.util.ServiceLoader$2.hasNext(ServiceLoader.java:1299)
at java.base/java.util.ServiceLoader$3.hasNext(ServiceLoader.java:1384)
at liquibase.servicelocator.StandardServiceLocator.findInstances(StandardServiceLocator.java:22)
at liquibase.parser.ChangeLogParserFactory.(ChangeLogParserFactory.java:39)
at liquibase.parser.ChangeLogParserFactory.getInstance(ChangeLogParserFactory.java:25)
at liquibase.command.core.helpers.DatabaseChangelogCommandStep.getDatabaseChangeLog(DatabaseChangelogCommandStep.java:124)
at liquibase.command.core.helpers.DatabaseChangelogCommandStep.run(DatabaseChangelogCommandStep.java:87)
at liquibase.command.CommandScope.execute(CommandScope.java:219)
Похоже, что в классе liquibase.parser.ChangeLogParser отсутствует конструктор без аргументов.
Есть ли недостающая зависимость или конфигурация, которая Могу ли я добавить, чтобы исправить эту ошибку?

Подробнее здесь: https://stackoverflow.com/questions/783 ... -liquibase
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»