2016-07-27 70 views
1

我有一個文件,我們存儲公共屬性。 當創建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

「sourcing」是一個unix shell概念,它在屬性文件中不起作用。爲什麼你不能單獨閱讀這兩個文件? –

+0

可能的重複 - http://stackoverflow.com/questions/2004833/how-to-merge-two-java-util-properties-objects –

+0

我可以但我正在檢查,如果這是一種可能性。會讓我的包更簡單。 – iSpardz

回答

1

簡答:不,你不能。但是這裏有一些想法可以幫助你解決你的問題。

  1. 可以使用另一個Java Properties對象創建對象以提供默認值。

  2. 您可以撥打loadloadFromXML相同Properties對象上多次爲「疊加」一個屬性文件的內容在另一個。

  3. 非XML屬性文件可以通過#引入註釋。所以你可以發明一個特殊的評論來「採購」一個物業;例如

    #source /etc/application_dir/common.properties 
    

    然後解析您的屬性文件以在加載屬性文件之前拉出「源」指令。

    XML屬性文件可以有<comment>元素,這些元素可以以相同的方式使用(濫用)。


不...對不起...我不打算提供代碼示例。

相關問題