你能在另一个内部获取一个属性文件吗?

时间:2016-07-27 02:41:56

标签: java properties

我有一个存储公共属性的文件。 多个应用程序在创建bean时使用它们,而每个应用程序也有自己的属性文件。有没有办法在使用Java时从特定于应用程序的文件中获取公共文件?

我尝试采购该文件,但这不起作用。这是我试过的。

common.properties

password=abcd

application.properties

. /etc/application_dir/common.properties
application_log_file=/tmp/app.log

我想在我的代码中只读取application.properties并从common.properties中获取属性。 一种方法是将common.properties添加到bean的类路径中,但我想检查是否有一个更清晰的选项,只有属性文件中的更改。

1 个答案:

答案 0 :(得分:1)

简短回答:不,你不能。但是这里有一些想法可以帮助您解决问题。

  1. 可以使用另一个对象创建Java Properties对象以提供默认值。

  2. 您可以在同一个load对象上多次调用loadFromXMLProperties,以“覆盖”一个属性文件的内容而不是另一个属性文件。

  3. 非XML属性文件可以包含#引入的注释。所以你可以发明一个特殊的评论来“寻找”一个房产; e.g。

     #source /etc/application_dir/common.properties
    

    然后解析属性文件以在加载属性文件之前提取“source”指令。

    XML属性文件可以有<comment>个元素,可以以相同的方式使用(滥用)。

  4. 不...抱歉......我不打算提供代码示例。