我的情况很奇怪,希望我能得到一些帮助。
我在服务器位置上有一个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代码中的任何位置进行配置。
答案 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中的所有常用属性(与基于配置文件的属性一样)