Spring Boot-Spring.config.location

时间:2018-10-17 18:42:57

标签: spring-boot

我的情况很奇怪,希望我能得到一些帮助。

我在服务器位置上有一个Spring Boot应用程序。我使用--spring.config.location属性在外部文件路径中指定application.properties。 我的spring boot应用程序还需要另外一个属性文件(除了application.properties之外,还说应用程序需要的common.properties),该文件与application.properties处于同一路径。

我正在使用调度工具来调用spring boot jar,当我这样做时,我会使用 下面的命令

{java的路径} / java -jar {jar的路径} --spring.config.location = {application.properties和common.properties的路径} /application.properties,{application.properties和common的路径。属性} /common.properties

jar和属性文件所在的路径太长,以至于我的调度工具不接受配置以触发作业。我想知道是否有一种方法可以避免重复使用{application.properties和common.properties的路径}为application.properties和common.properties分别指定2次。

注意:我不想在Java代码中的任何位置进行配置。

1 个答案:

答案 0 :(得分:0)

您可以将目录传递到--spring.config.location

不幸的是,Spring将仅加载文件application.propertis和特定于配置文件的文件,例如application-{profile name}.properites

如果对您来说使用特定配置文件不是问题(您不使用特定于配置文件的Benas除外),则可以将common.properties文件重命名为application-common.properties,然后使用以下命令启动应用程序:

{path of java}/java -jar {path of jar} --spring.config.location=/path/of/both/properties --spring.profiles.active=common

请记住,这种方式application-common.properties将覆盖application.properties中的所有常用属性(与基于配置文件的属性一样)