【发布时间】:2020-04-28 13:34:23
【问题描述】:
我有一个配置为运行 Liquibase 的 Spring Boot 应用程序。我正在尝试建立一个单独的项目,该项目将用作数据库管理项目。它将存储不同数据库的所有liquibase.properties 文件。
我的数据库管理项目依赖于我的主应用程序,因为它需要加载 chaneglogFile。但是,我的数据库管理项目在类路径中找不到 changelogFile。
这里是主项目的文件夹结构。更改日志在src/main/resources 中,因此 maven 会自动将其添加到类路径中
这里是liquibase.properties中的配置
changeLogFile=classpath:db/changelog/db.changelog-master.yaml
以及maven插件配置
<build>
<plugins>
<plugin>
<groupId>org.liquibase</groupId>
<artifactId>liquibase-maven-plugin</artifactId>
<version>3.8.2</version>
<configuration>
<propertyFile>liquibase.properties</propertyFile>
</configuration>
<dependencies>
<dependency>
<groupId>com.my-group</groupId>
<artifactId>my-app</artifactId>
<version>1.0.0-SNAPSHOT</version>
</dependency>
</dependencies>
</plugin>
</plugins>
</build>
以及由此产生的错误
Failed to execute goal org.liquibase:liquibase-maven-plugin:3.8.2:status (default-cli) on project my-app-db: Error setting up or running Liquibase: classpath:db/changelog/db.changelog-master.yaml does not exist
【问题讨论】:
-
classpath:前缀是 Spring 特定的功能,您可能需要/db/changelog/db.changelog-master.yaml,另请参阅 liquibase.org/documentation/maven/index.html -
@RobertScholte 我试过了,但没有成功。
标签: java spring-boot maven classpath liquibase