【问题标题】:Liquibase clearChecksums Could not find com.oracle.jdbc:ojdbc8:xx.x.x.xLiquibase clearChecksums 找不到 com.oracle.jdbc:ojdbc8:xx.x.x.x
【发布时间】:2022-01-04 09:05:03
【问题描述】:

我想清除 Liquibase 的校验和。如果我运行 gradle 命令gradle clearChecksums 我会得到一个错误。

Execution failed for task ':project-name:clearChecksums'.
> Could not resolve all files for configuration ':project-name:liquibaseRuntime'.
> Could not find com.oracle.jdbc:ojdbc8:12.2.0.1.
        Required by:
        project :project-name
Possible solution:
 - Declare repository providing the artifact, see the documentation at https://docs.gradle.org/current/userguide/declaring_repositories.html

分级

runtimeOnly 'com.oracle.ojdbc:ojdbc8:19.3.0.0'

liquibaseRuntime "com.oracle.jdbc:ojdbc8:12.2.0.1"
liquibaseRuntime 'org.liquibase:liquibase-core:3.8.1'

liquibaseRuntime 'org.liquibase.ext:liquibase-hibernate5:3.8'
liquibaseRuntime sourceSets.main.runtimeClasspath
liquibaseRuntime sourceSets.main.output

我尝试将 "com.oracle.jdbc:ojdbc8:12.2.0.1" 添加为依赖项,但仍然找不到。

implementation "com.oracle.jdbc:ojdbc8:12.2.0.1"

我假设这是显而易见的,但我在网上找不到任何关于它的信息。

我该如何解决这个问题?

【问题讨论】:

    标签: java gradle liquibase ojdbc


    【解决方案1】:

    清理chesum的目的是什么,如果要强制重新执行一个changeset,可以直接在databasechangelog表中删除旧记录。

    【讨论】:

    • 我想清除校验和,这样它将重新计算新的校验和,而无需重新执行原始语句。这也不能回答问题。
    • 您可以创建一个新数据库,启动您的应用程序,然后从新数据库的 databasechangelog 中获取新的校验和,使用新闻校验和更新旧的 databaechangelog
    • 我知道如何以其他方式清除校验和。我希望能够使用 gradle 任务来做到这一点。作为临时解决方案,我可以直接致电liquibase.clearCheckSums(),但我更想了解为什么 gradle 任务不起作用。
    猜你喜欢
    • 2016-01-06
    • 1970-01-01
    • 1970-01-01
    • 2021-03-11
    • 2020-10-12
    • 2020-02-12
    • 1970-01-01
    • 2020-08-21
    • 2015-01-27
    相关资源
    最近更新 更多