Spring Boot Liquibase没有拿起所有application.yml文件

时间:2017-01-03 16:33:36

标签: java spring-boot liquibase

我有一个Spring Boot 1.4.3项目,应该在启动时加载Liquibase。它应该是一个简单的配置,但我花了很多时间来完成以下工作。

考虑一个ModuleA(一个普通的jar)和一个ModuleB(一个自举的jar)。 ModuleB依赖于moduleA,所以当moduleB启动时,moduleA就在它的类路径上。

ModuleA包含一些通用属性,这些属性在application.yml中编码,一些在application.properties文件中编码。 ModuleB还有一个具有更多特定属性的application.yml文件。

在ModuleA中,我在application.yml文件中定义了我的Liquibase属性。人们可以预期,在ModuleB启动时,liquibase属性将可用。然而,这不起作用。

如果我将liquibase属性放在ModuleA中的application.properties中,则会在ModuleB启动时选择属性。

所以我的问题是:在类路径上有两个'application.yml'文件是不可能的吗?我在documentation中找不到任何相关内容,事实上,在第一部分中它提到它应该是可能的:

14. Application properties outside of your packaged jar (application.properties and YAML variants).
15. Application properties packaged inside your jar (application.properties and YAML variants).

1 个答案:

答案 0 :(得分:0)

不,不可能。没有多个application.propertiesapplication.yml的组合。这会让事情很难跟踪。您可以检查/env端点以检查添加到环境中的内容。您还可以查看加载了哪些属性源(=" file")。

阅读文档,我意识到你确实可以理解相反的事情。请创建一个问题,以请求文档更明确地说明它。