相关疑难解决方法(0)

如何将Spring Boot application.properties外部化到tomcat/lib文件夹

我需要一个免配置,可部署的war,myapp1.war,它可以从tomcat/lib文件夹中检索配置文件.由于我有其他Web应用程序共存于同一个Tomcat:myapp2.war,myapp3.war,我需要这个布局:

tomcat/lib/myapp1/application.properties
tomcat/lib/myapp2/application.properties
tomcat/lib/myapp3/application.properties
Run Code Online (Sandbox Code Playgroud)

通过这种方式,我可以在战争中构建war文件而不需要任何属性文件,并在任何服务器上部署.

我已经阅读了Spring文档,但它解释了如何在作为jar运行时设置位置:

java -jar myapp.jar --spring.config.location=classpath:/default.properties,classpath:/override.properties
Run Code Online (Sandbox Code Playgroud)

对于多个共存战争文件的情况,我无法弄清楚如何做到这一点.

我想知道这是否可行,还是应该放弃Spring Boot并回到传统的Spring MVC应用程序.

java tomcat maven-3 spring-boot

24
推荐指数
1
解决办法
3万
查看次数

在 Spring Boot 中加载 War 文件之外的属性文件

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

\n\n

我尝试了各种解决方案,缺少一些东西

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

    \n\n

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

  2. \n
\n\n

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

\n\n
    \n
  1. 尝试将上下文参数设置为 tomcat,如下所示,所以答案\n /sf/answers/3128806761/

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

    \n\n

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

    \n\n
     public static void main(String[] args) throws Exception {\n                SpringApplication.run(Application.class, args);\n\n                 SpringApplicationBuilder springApplicationBuilder = (SpringApplicationBuilder) (new SpringApplicationBuilder(Application.class))\n                 .sources(Application.class)\n                 .properties(getProperties())\n                 .run(args);\n\n\n            }\n\n            static Properties getProperties() {\n                Properties props = new Properties();\n                props.put("spring.config.location", "file:///D:/test/application.properties\xe2\x80\x8b");\n                return props;\n            }\n
    Run Code Online (Sandbox Code Playgroud)
  4. \n
\n\n

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

java spring-boot

1
推荐指数
1
解决办法
2万
查看次数

标签 统计

java ×2

spring-boot ×2

maven-3 ×1

tomcat ×1