我想在命令行上独立运行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。以及进一步尝试
我知道-cp
是java
命令的常规类路径参数,而--classpath
是the documentation的Liquibase程序参数。但是,我仍然尝试了第一次尝试的各种参数组合,但无济于事。
答案 0 :(得分:1)
啊,愚蠢的我。如今,借助所有的IDE魔术,您都忘记了如何在CLI上启动Java程序。
您不能将lang
和-jar
组合在一起,即,您不能使用-cp
在类路径上放置其他JAR。
因此,要解决此问题,您需要-jar
。