java—如何在SpringBoot中使用maven插件正确配置liquibase,以便我可以使用最新版本运行diff命令

7fyelxc5  于 2021-07-12  发布在  Java
关注(0)|答案(1)|浏览(520)

当我试图执行 liquibase diff 命令,我得到以下错误:
错误[liquibase.integration.commandline.main]:运行liquibase时出现意外错误:java.lang.runtimeexception:找不到数据库驱动程序:liquibase.ext.hibernate.database.connection.hibernatedriver
我认为这可能与版本或缺少依赖项有关,因此下面是pom.xml文件的一部分:

  1. <groupId>org.springframework.boot</groupId>
  2. <artifactId>spring-boot-starter-parent</artifactId>
  3. <version>2.3.1.RELEASE</version>
  4. <relativePath/> <!-- lookup parent from repository -->
  5. </parent>
  6. <properties>
  7. <java.version>1.8</java.version>
  8. <kotlin.version>1.4.0</kotlin.version>
  9. <kotlin.compiler.jvmTarget>1.8</kotlin.compiler.jvmTarget>
  10. <mapstruct.version>1.4.0.Beta3</mapstruct.version>
  11. </properties>
  12. <dependencies>
  13. <dependency>
  14. <groupId>org.springframework.boot</groupId>
  15. <artifactId>spring-boot-starter-data-jpa</artifactId>
  16. </dependency>
  17. <dependency>
  18. <groupId>org.springframework.boot</groupId>
  19. <artifactId>spring-boot-starter-web</artifactId>
  20. </dependency>
  21. <dependency>
  22. <groupId>org.springframework.boot</groupId>
  23. <artifactId>spring-boot-starter-security</artifactId>
  24. </dependency>
  25. <dependency>
  26. <groupId>org.springframework.boot</groupId>
  27. <artifactId>spring-boot-devtools</artifactId>
  28. <scope>runtime</scope>
  29. <optional>true</optional>
  30. </dependency>
  31. <dependency>
  32. <groupId>org.postgresql</groupId>
  33. <artifactId>postgresql</artifactId>
  34. <scope>runtime</scope>
  35. </dependency>
  36. <dependency>
  37. <groupId>org.springframework</groupId>
  38. <artifactId>spring-web</artifactId>
  39. <version>5.2.6.RELEASE</version>
  40. </dependency>
  41. <dependency>
  42. <groupId>org.liquibase</groupId>
  43. <artifactId>liquibase-core</artifactId>
  44. <version>3.10.2</version>
  45. </dependency>
  46. </dependencies>
  47. <build>
  48. <sourceDirectory>${project.basedir}/src/main/kotlin</sourceDirectory>
  49. <plugins>
  50. <plugin>
  51. <groupId>org.springframework.boot</groupId>
  52. <artifactId>spring-boot-maven-plugin</artifactId>
  53. </plugin>
  54. <plugin>
  55. <groupId>org.liquibase</groupId>
  56. <artifactId>liquibase-maven-plugin</artifactId>
  57. <version>3.10.2</version>
  58. <configuration>
  59. <propertyFileWillOverride>true</propertyFileWillOverride>
  60. <propertyFile>src/main/resources/liquibase.properties</propertyFile>
  61. </configuration>
  62. <dependencies>
  63. <dependency>
  64. <groupId>org.liquibase.ext</groupId>
  65. <artifactId>liquibase-hibernate5</artifactId>
  66. <version>3.10.2</version>
  67. </dependency>
  68. <dependency>
  69. <groupId>org.springframework</groupId>
  70. <artifactId>spring-beans</artifactId>
  71. <version>4.1.7.RELEASE</version>
  72. </dependency>
  73. <dependency>
  74. <groupId>org.springframework.data</groupId>
  75. <artifactId>spring-data-jpa</artifactId>
  76. <version>1.7.3.RELEASE</version>
  77. </dependency>
  78. <dependency>
  79. <groupId>org.springframework.boot</groupId>
  80. <artifactId>spring-boot-starter-data-jpa</artifactId>
  81. <version>${spring-boot.version}</version>
  82. </dependency>
  83. </dependencies>
  84. </plugin>
  85. </plugins>

我已经安装了Liquibase3.10.2版本-mac os,我使用postgres。另外,这是我的liquibase属性文件的一部分:

  1. username=postgres
  2. password=
  3. driver=org.postgresql.Driver
  4. referenceDriver=liquibase.ext.hibernate.database.connection.HibernateDriver
  5. referenceUrl=hibernate:spring:com.something.something.models?dialect=org.hibernate.dialect.PostgreSQLDialect```
hec6srdp

hec6srdp1#

我已切换到版本4.0.0,并将pom.xml更新为:

  1. <plugin>
  2. <groupId>org.liquibase</groupId>
  3. <artifactId>liquibase-maven-plugin</artifactId>
  4. <version>4.0.0</version>
  5. <configuration>
  6. <propertyFileWillOverride>true</propertyFileWillOverride>
  7. <propertyFile>src/main/resources/liquibase.properties</propertyFile>
  8. </configuration>
  9. <dependencies>
  10. <dependency>
  11. <groupId>org.liquibase.ext</groupId>
  12. <artifactId>liquibase-hibernate5</artifactId>
  13. <version>4.0.0</version>
  14. </dependency>
  15. <dependency>
  16. <groupId>org.springframework</groupId>
  17. <artifactId>spring-beans</artifactId>
  18. <version>4.1.7.RELEASE</version>
  19. </dependency>
  20. <dependency>
  21. <groupId>org.springframework.data</groupId>
  22. <artifactId>spring-data-jpa</artifactId>
  23. <version>1.7.3.RELEASE</version>
  24. </dependency>
  25. <dependency>
  26. <groupId>javax.validation</groupId>
  27. <artifactId>validation-api</artifactId>
  28. <version>2.0.1.Final</version>
  29. </dependency>
  30. <dependency>
  31. <groupId>org.springframework.boot</groupId>
  32. <artifactId>spring-boot-starter-data-jpa</artifactId>
  33. <version>${spring-boot.version}</version>
  34. </dependency>
  35. </dependencies>
  36. </plugin>

现在, mvn liquibase:diff 命令生成diff文件。

展开查看全部

相关问题