【问题标题】:Can you source one properties file inside another您可以在另一个属性文件中获取一个属性文件吗
【发布时间】:2016-07-27 02:41:55
【问题描述】:

我有一个文件,用于存储通用属性。 多个应用程序在创建 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 的类路径中,但我想检查是否有像上面这样的更简洁的选项,只在属性文件中进行更改。

【问题讨论】:

  • "sourcing" 是一个 unix shell 概念,它不像在属性文件中那样工作。为什么不能分别读取这两个文件?
  • 我可以,但我正在检查这是否可能。会让我的包裹更简单。
  • @cricket_007 - 不是重复的,IMO。另一个问题是关于合并 Properties 对象,而不是在文件级别执行/表达。

标签: java properties


【解决方案1】:

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

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

  2. 您可以在同一个Properties 对象上多次调用loadloadFromXML,以将一个属性文件的内容“覆盖”在另一个文件上。

  3. 非 XML 属性文件可以包含由 # 引入的 cmets。因此,您可以为“采购”财产创造一个特殊的评论;例如

     #source /etc/application_dir/common.properties
    

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

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


不...抱歉...我不会提供代码示例。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-08-24
    • 1970-01-01
    • 2010-11-27
    • 1970-01-01
    • 2013-02-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多