从命令行启动spring boot中的多个外部属性文件

我想从外部位置读取 2 个属性文件。它需要通过命令行参数加载。


configuration.properties -> 这是一个普通的属性文件,包含公共信息。


secure.properties - > 这包含加密的密码。


我提供以下命令行参数


-Dspring.config.location=file:C:\Project\properties\configuration.properties, file:C:\Project\properties\security\dev\secure.properties

的属性configuration.properties工作正常。因为我不是直接加载文件,而是使用该属性。


在这里,对于这个加密文件,我需要明确地传递路径和加载,这不会发生。


util EncryptedPropertiesReader在 jar 中可用,因此无法修改它。


在这里,问题是我需要如何使用 secure.properties


我们有一堂课EncryptedPropertiesReader。它包含一个load(string path)方法。


因此我需要传递secure.properties文件的路径。


IE


String env = "dev" 

Properties p = EncryptedPropertiesReader.load("security\" + env + "\secure.properties");

System.out.println(p); // null

在这里,我不能给出绝对路径,因为在不同的环境(Unix)中,我会有不同的路径。


因此命令行是我的选择,也需要将属性保持在外部。


这是我尝试过的组合:


命令行 :


为安全提供类路径。特性


-Dspring.config.location=file:C:\Project\properties\configuration.properties, classpath:C:\Project\properties\security\dev\

给予 spring.config.nane


-D spring.config.name=configuration, secure - Dspring.config.location=file:C:\Project\properties\configuration.properties, file:C:\Project\properties\security\dev\secure.properties

尝试将 \ 更改为 /


传递的 url 路径


("secure.properties"); //预期在我加载类路径时工作


("/secure.properties"); //预期在我加载类路径时工作


上述组合均无效。


知道出了什么问题吗?或者我错过了什么?


抱歉问了这么长的问题。


慕斯王
浏览 121回答 2
2回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java