我正在构建一个相当简单的多模块Spring启动应用程序 . 我的主要模块是war,而依赖模块是一个简单的jar(一对服务类和src / main / resource文件夹中的yaml属性文件) .

当我部署我的主war应用程序时,我没有看到Spring启动读取或从我的依赖jar加载yaml属性文件 . 我确实看到它从我的主要战争应用程序中读取application.yaml .

在我的第一次尝试中,我将属性文件(在War和Jar模块中)命名为application.yaml . 我尝试重命名Jar模块的yaml文件模块-application.yaml只是为了确保,Spring引导不会覆盖整个文件 .

什么对我不起作用的是我的jar模块中的property / config类文件这是一个示例类

@PropertySource("classpath*:module-application.yml")
@ConfigurationProperties(prefix="module.orders.urls")
public class SmartApiUrls {

    private Log logger = LogFactory.getLog(getClass());
    private String saveUrl;
    private String getUrl;
    private String cancelUrl;
    private String barcodesUrl;
---
}

此配置Bean的属性由依赖jar控制,此类由Module jar定义 . 主战应用程序不需要知道这一点 . 主应用程序war有它的application.yaml属性

任何帮助都会很棒 . 我在Spring boot 2.0和Java 8上注意:Jar模块只是一个没有主类的简单服务 . 它不是可执行的 . 此jar模块是主Web应用程序中的依赖项 . 但是,jar在它的src / main / resource文件夹中有自己的yaml属性文件,名称为module-application.yml . 谢谢斯里兰卡