我想从外部位置读取 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"); //预期在我加载类路径时工作
上述组合均无效。
知道出了什么问题吗?或者我错过了什么?
抱歉问了这么长的问题。
相关分类