当前位置: 首页 > 知识库问答 >
问题:

liquibase gradle插件找不到org.postgresql.驱动程序

劳鹏云
2023-03-14

我试图使用liquibase gradle插件来生成数据库和Springboot实体之间的数据库差异。然而,我总是错误地说

液化。例外Liquibase异常:运行Liquibase:java时出现意外错误。lang.RuntimeException:找不到数据库驱动程序:class org。postgresql。驾驶员

根据一些google的结果,我把类路径的依赖关系放在构建脚本块中。但是没有用。下面是我的build.gradle

buildscript {
    ext {
        springBootVersion = '1.5.6.RELEASE'
    }
    repositories {
        mavenCentral()
        maven { url "https://repo.spring.io/milestone" }
        maven {
            url "https://plugins.gradle.org/m2/"
          }
    }
    dependencies {
        classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
        classpath('org.postgresql:postgresql:9.4.1212')
    }
}

//When the liquibase plugin is applied, it creates a Gradle task for each command supported by Liquibase.
plugins {
    id 'org.liquibase.gradle' version '1.2.4'
}

apply from: 'liquibase.gradle'

liquibase {
    activities {
      diffMain {
        url gradle.ext.url
        username gradle.ext.username
        password gradle.ext.password
        referenceUrl gradle.ext.referenceUrl
        driver org.postgresql.Driver
      }
    }
    runList = 'diffMain'
}

共有1个答案

百里弘致
2023-03-14

您可能希望使用类路径属性在配置的活动字段中定义驱动程序位置:

liquibase {
    activities {
      diffMain {
        url gradle.ext.url
        username gradle.ext.username
        password gradle.ext.password
        referenceUrl gradle.ext.referenceUrl
        driver org.postgresql.Driver

        /////
        classpath "/driver-location/postgresql-42.2.19.jar"
        /////
      }
    }
    runList = 'diffMain'
}

但更常见和正确的方法是将驱动程序添加到liquibase运行时环境中:

dependencies {
    liquibaseRuntime "org.postgresql:postgresql:42.2.24"
}

 类似资料:
  • 问题内容: 输出 >无法连接到数据库服务器java.lang.ClassNotFoundException 问题答案: 看来您应该将MySQL驱动程序jar放入 类路径中 。

  • 问题内容: 我刚刚用Apache,MySQL和PHP安装了Debian Lenny,并且收到了PDOException 。 这是它所指的特定代码行: ,,,和是我所定义的常量。它在生产服务器(以及我以前的Ubuntu Server设置)上运行良好。 这与我的PHP安装有关吗? 搜索互联网没有帮助,我得到的只是专家交流和示例,但没有解决方案。 问题答案: 您需要有一个名为pdo_mysql的模块。在

  • 问题内容: 我在只能访问MySQL和FTP的服务器上开发网站,因此我运行的所有命令都是通过b374k php shell进行的。我在使用SQL驱动程序时遇到Laravel问题。我尝试切换到文件托管的SQLite(在database / database.sqlite中),但是引发的异常与使用MySQL时相同。控制台的输入和输出如下: 服务器上安装的Apache扩展为: 可能是什么问题,我该如何解决

  • 因此,我一直在使用sbt with assembly将所有依赖项打包到一个jar中,用于spark工作。我做了几个工作,使用设置连接池信息,将其广播出去,然后在RDD上使用获取连接,并将数据插入数据库。在我的sbt构建脚本中,我包括 这确保JDBC连接器与作业打包在一起。一切都很好。 因此,最近我开始使用SparkSQL,并意识到使用中的新特性,简单地获取一个dataframe并将其保存到jdbc

  • 我正在一个服务器上开发一个网站,我只能访问MySQL和FTP,所以我运行的所有命令都是通过b374k php shell。我遇到了SQL驱动程序的Laravel问题。我尝试切换到文件托管的SQLite(在database/database.SQLite中),但引发的异常与使用MySQL时相同。控制台的输入输出如下: 服务器上安装的Apache扩展包括: 问题可能是什么?我如何修复它?(我没有访问根

  • 问题内容: 我是java和数据库连接的新手,我试图与oracle数据库建立非常简单的连接。当我运行此代码时: 我得到了输出。我正在使用Eclipse Helios,并且已将其添加到构建路径中(我仔细检查了第一件事),并且正在使用JDK 1.6。 问题答案: 检查.jar是否也在您的运行路径上。在eclipse中,转到运行->运行配置->选择配置->类路径选项卡。如果您的jar不在右侧选择“添加ja