Postgresql liquibase命令行错误org.yaml.snakeyaml.yaml
我正在执行以下操作:Postgresql liquibase命令行错误org.yaml.snakeyaml.yaml,postgresql,command-line,liquibase,Postgresql,Command Line,Liquibase,我正在执行以下操作: liquibase --classpath=./postgresql-42.1.4.jar:./snakeyaml-1.12.jar --changeLogFile=./src/main/resources/db/changelog/db.changelog-master.yaml --username=postgres --password=mysecret --url=jdbc:postgresql://localhost:5432/mydatabase --drive
liquibase --classpath=./postgresql-42.1.4.jar:./snakeyaml-1.12.jar --changeLogFile=./src/main/resources/db/changelog/db.changelog-master.yaml --username=postgres --password=mysecret --url=jdbc:postgresql://localhost:5432/mydatabase --driver=org.postgresql.Driver update
但我有个错误
运行Liquibase时出现意外错误:org.yaml.snakeyaml.yaml
没有其他关于我为什么会有这个错误的参考资料。我如何知道我使用的snakeyml库是否是合适的
编辑:
感谢@bilak,我添加了--logLevel=debug标志,但仍然没有太多信息
D
所以它连接起来了,我想这个错误肯定与错误的org.yaml.snakeyaml.yaml有关
1.类路径没有帮助
2.我尝试使用的版本不合适显然snakeyaml.jar需要以某种方式添加到类路径中。
liquibase的
--classpath
标志和java的-cp
都不适合我。我让它运行的最快方法是将驱动程序和yaml JAR放在jre/lib/ext/中这对我来说非常好,因为我是在Docker容器中运行liquibase的liquibase的
--classpath
命令行参数只用于数据库驱动程序,通过它使snakeyaml可用是行不通的
传递给java的-cp
arg确实有效,但需要注意的是,如果同时传递-jar
,它将被忽略
所以,你需要做一些类似的事情:
java -cp snakeyaml-1.12.jar:liquibase.jar:sqlite-jdbc-3.34.0.jar liquibase.integration.commandline.Main --defaultsFile=liquibase.properties --changeLogFile=databaseChangelog.yaml --logLevel debug update
尝试指定
--logLeve=debug
并查看是否可以获得更多信息。liquibase命令是什么?它是linux上的deb包还是在它下面执行什么?以及您使用的是哪个版本的liquibase
java -cp snakeyaml-1.12.jar:liquibase.jar:sqlite-jdbc-3.34.0.jar liquibase.integration.commandline.Main --defaultsFile=liquibase.properties --changeLogFile=databaseChangelog.yaml --logLevel debug update