在spring boot中加载war文件之外的属性文件

我需要从将部署在 tomcat 中的 spring boot war 外部加载 application.properties 文件。

我尝试了各种解决方案遗漏了一些东西

  1. 尝试在 Windows 中设置环境变量如下

    名称:SPRING_CONFIG_NAME 值:D:/test/application.properties

我为上述值尝试了多个值,例如前缀中的 file:/// 和只有 file: as perfix 。没有任何效果

  1. 尝试使用上下文参数是 tomcat,如下面提到的 SO 答案 https://stackoverflow.com/a/44697239/2751962

  2. 尝试在扩展 SpringBootServletIntializer 的主文件中像这样加载


protected SpringApplicationBuilder configure(SpringApplicationBuilder application) { return application.sources(Application.class) .properties(getProperties()); }


 public static void main(String[] args) throws Exception {

                SpringApplication.run(Application.class, args);


                 SpringApplicationBuilder springApplicationBuilder = (SpringApplicationBuilder) (new SpringApplicationBuilder(Application.class))

                 .sources(Application.class)

                 .properties(getProperties())

                 .run(args);



            }


            static Properties getProperties() {

                Properties props = new Properties();

                props.put("spring.config.location", "file:///D:/test/application.properties");

                return props;

            }

我不确定我错过了什么,请帮忙。


浮云间
浏览 148回答 2
2回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java