Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/spring-boot/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在多模块工程中使用Liquibase_Java_Spring Boot_Liquibase_Multi Module - Fatal编程技术网

Java 在多模块工程中使用Liquibase

Java 在多模块工程中使用Liquibase,java,spring-boot,liquibase,multi-module,Java,Spring Boot,Liquibase,Multi Module,我有两个模块(editor和engine)可以与公共数据库一起工作。对于脚本的部署,我想使用liquibase。我不想在两个地方复制相同的脚本,我想在一个地方管理它们。为此,我创建了一个单独的模块(数据库结构),它只包含我的脚本和参数spring.liquibase.change log=classpath:db/changelog/db.changelog master.xml)。我已将此模块(数据库结构)添加为其他模块的依赖项。最终结构如下所示(为了紧凑,省略了等级): 但是,当我在edit

我有两个模块(
editor
engine
)可以与公共数据库一起工作。对于脚本的部署,我想使用
liquibase
。我不想在两个地方复制相同的脚本,我想在一个地方管理它们。为此,我创建了一个单独的模块(
数据库结构
),它只包含我的脚本和参数
spring.liquibase.change log=classpath:db/changelog/db.changelog master.xml
)。我已将此模块(
数据库结构
)添加为其他模块的依赖项。最终结构如下所示(为了紧凑,省略了等级):

但是,当我在
editor
中启动测试时,例如(
EditorControllerTest.java
),我得到一个错误,没有找到Liquibase:

Caused by: java.lang.IllegalStateException: Cannot find changelog location: class path resource [db/changelog/db.changelog-master.yaml] (please add changelog or check your Liquibase configuration)
但是,我在
数据库结构
模块的
application.properties
中设置了
spring.liquibase.change log
参数。为什么它被忽视

如果我在
编辑器
模块中指定此选项,则一切正常。如何在
数据库结构
模块的同一位置收集
Liquibase
的所有逻辑工作

但是,我在中设置了spring.liquibase.change-log参数 数据库结构模块中的application.properties。为什么 忽视


在运行时,与任何资源或类一样,在根目录(
/
)的类路径上找到的第一个application.properties将被拾取,其他属性将被忽略。

集中式配置非常有用。请看这里,您可以阅读所有关于属性文件以及如何指定多个属性文件的信息。
Caused by: java.lang.IllegalStateException: Cannot find changelog location: class path resource [db/changelog/db.changelog-master.yaml] (please add changelog or check your Liquibase configuration)