Apache Commons Configuration2 - 来自classpath的多个同名配置文件

时间:2017-01-18 13:20:12

标签: java configuration apache-commons-config

我想要做的是与这个问题完全相同:Using Class.getResourcesAsStream to get Apache Commons Configuration但是使用Apache Commons Configuration 2.

到目前为止,我已尝试在classpath中使用test.properties创建第一个maven项目:

test1=value1

然后,我在classpath中用另一个test.properties创建了另一个maven项目:

test2=value2

在第二个项目中,我对第一个项目进行了依赖,然后创建了一个main:

public static void main(String[] args) throws Exception {

    Configurations configurations = new Configurations();
    PropertiesConfiguration configuration = configurations.properties("test.properties");
    System.out.println(configuration.getString("test1"));

}

当我运行主要内容时,我想获得value1,但我得到null。显然,我创建PropertiesConfiguration的方式不会读取第一个模块中的test.properties文件。

实现这一目标的任何想法或建议?

1 个答案:

答案 0 :(得分:1)

我设法通过使用sql.execute "select * from tbl where a=? and b=?", [ 'aa', 'bb' ] sql.execute "select * from tbl where a=:first and b=:last", first: 'aa', last: 'bb' 获取网址,然后迭代这些网址以加载属性文件并将其放入getClassLoader().getResources("...")

尽管如此,我希望Apache Commons Configuration2直接处理这个用例。

也许存在更漂亮的方式?

CompositeConfiguration