我有一个Spring Boot 1.4.3项目,它应该在启动时加载Liquibase。这应该是一个简单的配置,但我花了很多时间来完成以下工作。Spring Boot Liquibase没有拾取所有application.yml文件
考虑一个ModuleA(一个普通的jar)和一个ModuleB(一个自举的jar)。 ModuleB具有对moduleA的依赖性,所以当moduleB启动时,moduleA在classpath上。
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).
我做了一些更多的研究,因为奇怪的是多个application.properties可以工作,但事实证明这是行不通的。我有 moduleA/application-dev.properties moduleB/application.properties 所以你确实是对的。我不知道/ env url,可能非常有用(但同时也是危险的)。 –