使用 Liquibase 图像的 MongoDB 的 Liquibase 异常

问题描述 投票:0回答:1

用例

使用 liquibase 对 Mongo DB 进行版本控制

问题

运行 liquibase 更新命令时出现以下异常

[2023-01-18 23:47:35] SEVERE [liquibase.integration] class liquibase.database.core.UnsupportedDatabase cannot be cast to class liquibase.nosql.database.AbstractNoSqlDatabase (liquibase.database.core.UnsupportedDatabase is in unnamed module of loader java.net.URLClassLoader @7d4793a8; liquibase.nosql.database.AbstractNoSqlDatabase is in unnamed module of loader java.net.URLClassLoader @aed0151)
liquibase.exception.CommandExecutionException: liquibase.exception.LiquibaseException: liquibase.exception.UnexpectedLiquibaseException: java.lang.ClassCastException: class liquibase.database.core.UnsupportedDatabase cannot be cast to class liquibase.nosql.database.AbstractNoSqlDatabase (liquibase.database.core.UnsupportedDatabase is in unnamed module of loader java.net.URLClassLoader @7d4793a8; liquibase.nosql.database.AbstractNoSqlDatabase is in unnamed module of loader java.net.URLClassLoader @aed0151)

日志上方的一些行我也发现了一个警告

[2023-01-18 23:47:35] WARNING [liquibase.database] Unknown database: MongoDB

上下文

我正在使用 Liquibase CLI 命令在 MongoCluster 上运行我的变更日志。这是我的命令

set JAVA_OPTS=-Djava.security.auth.login.config=<jaas.conf> -Dsun.security.krb5.debug=true && liquibase --changelog-file=changelog-root.xml  --url="mongodb://<USER>@<DB Host>:<Port>/<db name>?connectTimeoutMS=300000&authMechanism=GSSAPI&authSource=%24external" --classpath=liquibase_libs/liquibase-mongodb-4.14.0.jar:liquibase_libs/bson-4.6.1.jar:liquibase_libs/mongodb-driver-core-4.6.1.jar:liquibase_libs/mongodb-driver-sync-4.6.1.jar --driver=liquibase.ext.mongodb.database.MongoClientDriver --logLevel=debug --hub-mode=OFF update

鉴于 liquibase 核心不支持 MongoDB,我正在使用 Liquibase ext 驱动程序与 Mongo 连接,从上面共享的命令可以看出。有人可以解释一下我遇到异常的可能原因是什么吗?

谢谢

mongodb liquibase
1个回答
0
投票

这就是我的课程路径的样子

classpath=changelog:classpath/liquibase-mongodb-4.21.0.jar:classpath/bson-4.8.1.jar:classpath/mongodb-driver-core-4.8.1.jar:classpath/mongodb-driver-sync-4.8.1.jar:classpath/jackson-core-2.11.3.jar:classpath/jackson-databind-2.11.3.jar:classpath/jackson-annotations-2.11.3.jar:classpath/snakeyaml-1.27.jar

我只能使用

4.18 liquibase
码头图像和以前的版本让它工作。在使用
.xml
.yaml
更新日志时,我一直遇到多个问题,所有这些都指出“可能丢失”的 liquibase 商业许可证,即使在 liquibase-mongodb 扩展中尝试一些示例也是如此。

© www.soinside.com 2019 - 2024. All rights reserved.