如何使用 apache 通用配置(java) 加载多个配置文件

我有一个主conf文件,我使用apache通用配置类加载。我有一个要求,用户可以指定一个conf文件,并且这些文件中的值将覆盖主conf中的值。

请建议我如何在apache通用配置类或任何其他开源类中做到这一点来实现这一点。

提前致谢


答案 1

我认为你想要类似于这里描述的机制

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

参考:


答案 2

使用 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);

然后以标准方式使用它来获取属性。


推荐