[ClassNotFoundException在命令行上独立运行Liquibase
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[ClassNotFoundException在命令行上独立运行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。和进一步尝试
[我了解-cp
是java
命令的常规类路径参数,而--classpath
是Liquibase的程序参数,根据the documentation。但是,我仍然尝试了第一次尝试的各种参数组合,但无济于事。
啊,愚蠢的我。如今,借助所有的IDE魔术,您忘记了如何在CLI上启动Java程序。
您不能将-jar
和-cp
组合在一起,即,无法使用-jar
在类路径上放置其他JAR。
因此,要解决此问题,您需要java -cp ... liquibase.integration.commandline.Main --classpath=...
。
以上是关于[ClassNotFoundException在命令行上独立运行Liquibase的主要内容,如果未能解决你的问题,请参考以下文章
ClassNotFoundException:org.sqlite.JDBC
ClassNotFoundException和NoClassDefFoundError
ClassNotFoundException和NoClassDefFoundError