2015-06-03 1 views
0

Я получаю эту ошибку, когда запускаю команду «mvn liquidibase: generateChangeLog». У меня естьНет сериализатора, связанного с именем файла или расширением «true»?

<outputChangeLogFile>true</outputChangeLogFile> 

, чтобы распечатать вывод в файле changeLog, а не в командной строке. Если я удалю эту строку, ошибки не будет. Это мои свойства

<changeLogFile>src/main/Resources/liquibase-3.3.3-bin/db.changelog.xml</changeLogFile> 
    <driver>com.mysql.jdbc.Driver</driver> 
    <url>jdbc:mysql://localhost/test</url> 
    <username>****</username> 
    <password>********</password> 
<promptOnNonLocalDatabase>false</promptOnNonLocalDatabase> 
<outputChangeLogFile>true</outputChangeLogFile> 

Для зависимостей У меня есть mysql-коннектор, Liquibase-core и snakeyaml.

[INFO] Невозможно использовать класс liquidibase.serializer.core.json.JsonChangeLogSerializer как услугу Liquibase, поскольку org.yaml.snakeyaml.representer.Representer не находится в пути к классам.

+0

Может быть, это может помочь http://forum.liquibase.org/ тема/LiquiBase-generatechangelog-неудавшегося орг-YAML-snakeyaml-МЕНЕДЖЕР-МЕНЕДЖЕР – 6ton

ответ

1

<outputChangeLogFile> не true/false булева но String, где вы должны передать в полном пути к файлу для changeLogFile, например:

<outputChangeLogFile>c:/tmp/myGeneratedChangeLogFile.xml</outputChangeLogFile>