我尝试将 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 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
。所以也许它仍然适合你。