我有一个奇怪的场景,我希望我能得到一些帮助。
我在服务器位置上有一个 Spring 启动应用程序。我使用 --spring.config.location 属性在外部文件路径中指定 application.properties。 我的 spring 启动应用程序还需要一个属性文件(假设除了应用程序属性之外,应用程序还需要的 common.properties(,该文件与 application.properties 位于相同的路径中。
我正在使用调度工具来调用 spring boot jar,当我这样做时,我使用 以下命令
{Java 的路径}/java -jar{jar 的路径} --spring.config.location={application.properties and common.properties}/application.properties,{path of application.properties and common.properties}/common.properties
jar 和属性文件所在的路径太长,以至于我的计划工具不接受配置为触发作业。我想知道是否有办法摆脱冗余地使用 {application.properties 和 common.properties} 的路径,为应用程序属性和 common.properties 各指定 2 次 1。
注意:我不想在java代码中的任何位置配置它。
您可以将目录传递给--spring.config.location
不幸的是,Spring 将只加载文件 application.propertis 和特定于配置文件的文件,如application-{profile name}.properites
如果使用特定的配置文件不是问题(您不使用特定于配置文件的 Benas exc(,您可以将 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 中的任何通用属性(与始终基于配置文件的属性一样(