在命令行上独立运行Liquibase的ClassNotFoundException

时间:2020-02-26 20:06:53

标签: java liquibase

我想在命令行上独立运行Liquibase(即不带“安装”)。但是,无论尝试什么,我都会得到java.lang.ClassNotFoundException: ch.qos.logback.core.Context或其他一些logback类。

我检查了Liquibase pom.xml,以准确找出它需要哪些依赖项,并相应地提供了它们。

1。尝试

java -jar liquibase-core-3.8.6.jar \
     -cp jaxb-api-2.3.0.jar:snakeyaml-1.24.jar:slf4j-api-1.7.28.jarlogback-core-1.2.3.jar::logback-classic-1.2.3.jar \
     --classpath=backend/target/mywar.war \
     --changeLogFile=db/changelog/db.changelog-master.xml

2。以及进一步尝试

我知道-cpjava命令的常规类路径参数,而--classpaththe documentation的Liquibase程序参数。但是,我仍然尝试了第一次尝试的各种参数组合,但无济于事。

1 个答案:

答案 0 :(得分:1)

啊,愚蠢的我。如今,借助所有的IDE魔术,您都忘记了如何在CLI上启动Java程序。

您不能将lang-jar组合在一起,即,您不能使用-cp在类路径上放置其他JAR。

因此,要解决此问题,您需要-jar