Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Postgresql liquibase命令行错误org.yaml.snakeyaml.yaml_Postgresql_Command Line_Liquibase - Fatal编程技术网

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