【问题标题】:Search application.properties in directory external to jar spring boot在 jar spring boot 外部目录中搜索 application.properties
【发布时间】:2019-07-16 15:31:49
【问题描述】:

有一个选项可以忽略spring boot jar包application.properties文件和 从服务器上的一个目录中搜索application.properties的属性值。

在我们用spring boot运行jar应用的服务器上,我需要应用在服务器的另一个目录中查找application.properties文件的属性值,忽略现有的BOOT-INF jar 中的 \classes\application.properties 目录。

我想在 jar spring boot generation 中选择忽略 application.properties 并从服务器上的目录中获取 application.properties 的值。

此配置将使应用程序适用于每个环境(生产、批准和开发),而无需开发人员在打包之前更改应用程序中的配置文件。

此设置的任何示例?

【问题讨论】:

  • 虽然 Christopher 的回答是正确的,但您可能需要考虑使用配置文件和环境变量来识别活动配置文件(例如 prod、dev、qa)的好处,或者考虑使用类似 spring-cloud 的东西-配置。

标签: java spring spring-boot


【解决方案1】:

取自Spring documentation,您可以使用以下方法传入外部配置的位置:

java -jar myproject.jar --spring.config.location=/path/application.properties

此命令将支持目录,前提是 spring.config.name 与您的配置文件的名称匹配。

【讨论】:

  • 好的,我明白@Christopher。我查看了docs.spring.io/spring-boot/docs/current/reference/html/… 我可以在当前目录的子目录中使用application.properties 等。哪种方式更合适或更正确?你有什么意见吗?
  • 我不确定该标志是否支持相对路径 - 您需要对其进行测试。在不知道您的应用程序要求的细节的情况下,我不可能发表评论。我的建议通常是将这些东西放在一个路径中,通常是/var 或类似的东西,然后绝对访问。
猜你喜欢
  • 2014-11-26
  • 1970-01-01
  • 2021-05-17
  • 2020-03-18
  • 2020-06-22
  • 1970-01-01
  • 1970-01-01
  • 2020-08-04
  • 2016-01-01
相关资源
最近更新 更多