【问题标题】:Unexpected error running Liquibase: java.lang.RuntimeException: Cannot find database driver: oracle.jdbc.OracleDriver运行 Liquibase 时出现意外错误:java.lang.RuntimeException:找不到数据库驱动程序:oracle.jdbc.OracleDriver
【发布时间】:2018-04-06 13:26:38
【问题描述】:

之前有人问过这个问题,但没有帮助,因为我使用的是 gradle。我在jdbc:oracle:thin:@//localhost:1521/xe 的 Docker 中运行 Oracle 12c。

在我的 gradle.build 中,我有以下 gradle 任务:

task('dev') << {
    println "executing dev"
    liquibase {
        activities {
            main {
                changeLogFile changeLog
                url 'jdbc:oracle:thin:@//localhost:1521/xe'
                username 'admin'
                password 'admin'
            }
        }
    }
}

我向libs/jdbc-oracle.jar 添加了两个不同的罐子并添加了compile files('libs/jdbc-oracle.jar'),但仍然出现相同的错误。我正在使用gradle liquidbase plugin 版本classpath "org.liquibase:liquibase-gradle-plugin:1.2.4"

以前有人遇到过这个问题吗?是怎么解决的?

--------------------更新 1-----------------

我添加了以下内容:

compile ("com.oracle:ojdbc7:12.1.0.1")buildscriptdependencies 中尝试都失败了。

【问题讨论】:

  • 试试:compile fileTree(dir: "lib", include: "*.jar")
  • @user7294900 不确定您是否阅读了我的问题,因为您给了我一个我已经尝试过的解决方案的帖子。感谢您的努力。
  • @SaschaFrinken 好主意,我刚试了一下,很遗憾得到了同样的错误。
  • @SaschaFrinken 这是一个 springboot 应用程序。我想知道我是否应该配置这条路线。如果我没记错的话,我知道在 Jhipster 中已经完成了。

标签: gradle liquibase


【解决方案1】:

在这种情况下,我必须手动添加 jar 并使用 JDBC 7,而不是在 main 下添加类路径。 JDBC 12 给了我错误,我发现降级应该可以解决这里的问题link to post

task('dev') << {
    println "executing dev"
    liquibase {
        activities {
            main {
                changeLogFile changeLog
                classpath 'build/libs/jdbc7.jar'
                url 'jdbc:oracle:thin:@//localhost:1521/xe'
                username 'admin'
                password 'admin'
            }
        }
    }
}

【讨论】:

  • 我已经尝试过了,但在我的情况下仍然出现错误。
猜你喜欢
  • 2017-11-28
  • 2021-02-23
  • 2023-01-29
  • 1970-01-01
  • 2015-07-08
  • 1970-01-01
  • 1970-01-01
  • 2017-06-25
  • 1970-01-01
相关资源
最近更新 更多