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

获取java。liquibase处的lang.AbstractMethodError。数据库DatabaseFactory。运行liquibase时注册

公良照
2023-03-14

您好,我最近从liquibase 2.0.3更新到了3.3.3。因此,在对任何数据库运行liquibase时,我都会遇到以下错误。

SEVERE 7/10/15 9:47 AM: liquibase: Unknown Reason
java.lang.AbstractMethodError
    at liquibase.database.DatabaseFactory.register(DatabaseFactory.java:87)
    at liquibase.database.DatabaseFactory.<init>(DatabaseFactory.java:29)
    at liquibase.database.DatabaseFactory.getInstance(DatabaseFactory.java:40)
    at liquibase.integration.commandline.CommandLineUtils.createDatabaseObject(CommandLineUtils.java:50)
    at liquibase.integration.commandline.Main.doMigration(Main.java:884)
    at liquibase.integration.commandline.Main.run(Main.java:175)
    at liquibase.integration.commandline.Main.main(Main.java:94

)

我在命令提示符下运行,如下所示:

liquibase--日志级别=严重--日志文件=tesaaa1--类路径=D:\JenzabarFull\ngp configurations\trunk\jx financialaid\jx financialaid ear\target\jx-financialaid-ear-1.0-SNAPSHOT。ear更新

液化碱属性文件是:

changeLogFile=变更日志。xml驱动程序:org。postgresql。驱动程序url:jdbc:postgresql://localhost:5433/NGP_DB用户名:jdbcusr密码:密码defaultSchemaName:ngp

共有1个答案

锺离飞尘
2023-03-14

仅仅通过查看liquibase代码并试图确定可能出错的地方,我认为liquibase可能没有识别出正确的数据库。

您可以尝试将数据库类作为参数添加到liquibase命令行中,如下所示:--databaseClass=liquibase。数据库果心PostgresDatabase

 类似资料:
  • 我正在LiquiBase中运行Java代码变更集。但是我遇到了这个问题,我得到了ClassNotFoundException,我四处搜索了一下,但是没有找到任何有用的东西。在这个环节上的一些研究是有用的。我使用的是Liquibase-Core-2.0.1。

  • 问题内容: 由于某种原因,没有关于在Java代码中运行liquibase的文档。我想为单元测试生成表。 我将如何直接在Java中运行它? 例如 问题答案: 它应该类似于(取自liquibase.integration.spring.SpringLiquibase源代码): ResourceAccessor有多种实现方式,具体取决于应如何找到更改日志文件。

  • 如果我在changelogs中的某个点从liquibase结果的mysql转储中进行重建,那么重建将会最快,而我之前忽略了changelogs。因此,我将删除changelog master中的所有内容,除了我的master build dump changelog之外,这将是整个数据库,出于版本控制的原因,我保留了实际的changelog。 在LiquiBase中有没有合适的/指定的/安全的方法

  • 我试图使用liquibase从Oracle (ojdbc7)数据库中导出数据。 我的属性文件有以下选项: 驱动程序:oracle.jdbc.driver.OracleDRiver url:jdbc:oracle:thin:@localhost:1521: XE 用户名:用户 密码:用户 out的更改日志文件:src/主/资源/output.xml 默认模式名称:用户 在STS中,我使用下面的命令来

  • 我正在研究Liquibase,以将数据库与Spring集成。我想问:是否有任何插件或类似的东西用于通过 liquibase 自动保存数据库中的更改。:D例如:我在用户表中插入新行(用户ID,用户名,密码),然后该插件自动生成db-changelog.xml: 非常感谢。

  • 我们有一个现有的数据库在生产。我们已经决定使用liquibase进行所有进一步的更新,并创建任何新的数据库(如开发或集成)。 如果我们在生产上执行liquibase,它将尝试进行所有的完全更改,即使是那些已经存在的更改,这不会发生,因为除了两个新的更新之外,生产中已经有了所有的更改。现在我们想使用liquibase将这两个更改单独更新到产品中。 我们怎么能做到这一点?