liquibase-hibernate6:java.lang.UnsupportedOperationException:应用程序必须提供 JDBC 连接

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

我尝试将 Liquibase 添加到我的项目中,并获取实体和数据库之间的

diff
,我还将
liquibase-hibernate6
添加到 POM 文件中。

当我尝试命令时:

mvn liquibase:diff

我遇到错误:

[警告] HHH000181:未遇到适当的连接提供程序, 假设应用...
[警告] HHH000342:无法获取查询元数据的连接
java.lang.UnsupportedOperationException:应用程序必须提供 JDBC 连接

这是 POM 文件的一部分:

    <plugin>
        <groupId>org.liquibase</groupId>
        <artifactId>liquibase-maven-plugin</artifactId>
        <version>${liquibase.version}</version>
        <configuration>
            <propertyFile>src/main/resources/liquibase/config/liquibase.properties</propertyFile>
        </configuration>
        <dependencies>
            <dependency>
                <groupId>org.liquibase.ext</groupId>
                <artifactId>liquibase-hibernate6</artifactId>
                <version>4.23.1</version>
            </dependency>
        </dependencies>
    </plugin>

还有 liquibase.properties

changeLogFile=src/main/resources/liquibase/liquibase-changeLog.xml
diffChangeLogFile=src/main/resources/liquibase/liquibase-changeLog.xml
outputChangeLogFile=src/main/resources/liquibase/liquibase-new-changeLog.xml
url=jdbc:postgresql://localhost:5432/forum
defaultSchemaName=public
username=postgres
password=123456
driver=org.postgresql.Driver

referenceDefaultSchemaName=public
referenceDriver=liquibase.ext.hibernate.database.connection.HibernateDriver
referenceUrl=hibernate:spring:ir.renglab.forum.domain?dialect=org.hibernate.dialect.PostgreSQLDialect

重点是终于成功构建并创建了变更日志文件但是我该如何修复错误?问题是什么?

PS:我使用的是Spring-Boot版本3.1.3

spring spring-boot liquibase liquibase-hibernate liquibase-maven-plugin
1个回答
0
投票

我曾经在 spring 2.6 和 hibernate 5 下解决了相同的问题,方法是将具有与

hibernate.properties
文件相同连接信息的
liquibase.properties
文件也放置到类路径上

例如休眠属性:

hibernate.connection.driver_class=com.mysql.cj.jdbc.Driver
hibernate.dialect=org.hibernate.dialect.MySQL5Dialect
hibernate.connection.url=jdbc:mysql://localhost:3306/databasename?useSSL=false
hibernate.connection.username=root
hibernate.connection.password=

不幸的是,现在在 spring 3 和 hibernate 6 下它似乎不再起作用了。 但我现在使用

Gradle
而不是
Maven
。所以也许它仍然适合你。

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