2011-02-25 8 views
12

Apache ortak yapılandırma sınıfını kullanarak yüklediğim bir ana conf dosyasına sahibim. Kullanıcının bir conf dosyası belirleyebildiği ve bu dosyadaki değerlerin ana conf içindeki değerleri geçersiz kılacağı bir gereksinimim var.Apache ortak yapılandırması kullanılarak birden çok yapılandırma dosyası nasıl yüklenir (java)

Lütfen bunu başarmak için apache genel yapılandırma sınıfında veya başka bir açık kaynak sınıfında bunu nasıl yapabileceğimizi önerin.

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

Referans:

cevap

12

yılında

teşekkürler Sana the mechanism described here benzer bir şey istediğini düşünüyorum cfg4j ile:

// 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); 

Sonra özelliklerini çıkmak standart bir şekilde kullanırlar.

+0

İki satırı olan bir "loader.properties" dosyası oluşturdum, include = a.properties ve include = b.properties. Hala a.properties içerir ama b.properties değil. "Loader.properties" dosyasını yüklemek için PropertyConfiguration kullandım. Neden biliyor musun? – Sujoy

İlgili konular