2011-02-25 65 views
12

我有一個主要的conf文件,我使用apache常用配置類加載。 我有一個要求,用戶可以指定一個conf文件,這些文件中的值將覆蓋主conf中的值。如何使用apache常用配置加載多個配置文件(java)

請建議我們如何在apache常用配置類或任何其他開放源代碼類中實現此目的。

在此先感謝

回答

12

我想你想類似的東西the mechanism described here

CompositeConfiguration config = new CompositeConfiguration(); 
config.addConfiguration(new PropertiesConfiguration("user.properties")); 
config.addConfiguration(
    new PropertiesConfiguration("application.properties")); 
// user preferences have precedence over application preferences 

參考:

+0

我創建了一個文件「loader.properties」,它有兩行,include = a.properties和include = b.properties。它仍然包含a.properties,但不包含b.properties。我使用PropertyConfiguration來加載「loader.properties」文件。你知道爲什麼嗎? – Sujoy 2015-03-17 17:09:37

0

cfg4j

// Specify which files to load. Configuration from both files will be merged. 
ConfigFilesProvider configFilesProvider =() -> Arrays.asList(new File("application.properties"), new File("otherConfig.properties")); 

// Use local files as configuration store 
ConfigurationSource source = new FilesConfigurationSource(configFilesProvider); 

然後以標準方式使用它來獲得屬性。

相關問題