怎么来实现Jar包自带默认配置文件,同时又允许自定义的配置文件

假设我现在有一个JAR包 A.jar
它本身是带有一个配置文件 a.properties,在jar包的classpath下

然后假设我现在有一个项目B,使用了A.jar

怎么设计,才能实现

我在项目的classpath下放置一个b.properties,可以被读取到,从而覆盖掉jar包内的a.propertis文件,被A.jar作为配置使用

阅读 6.8k
1 个回答
InputStream is = null;
try {
    is = new FileInputStream("nodes.xml");
} catch (FileNotFoundException e) {
    is = null;
}
if (is == null) {
    is = NodesLoader.class.getClassLoader().getResourceAsStream("nodes.xml");
}
if (is == null) {
    return res;
}

这是我项目里面的一小段代码。首先会去尝试读取当前目录下面的nodes.xml文件,如果文件没有找到,那就去读取classpath里面的nodes.xml文件。这样如果没有自定义配置文件就用默认的,如果有自定义文件,就用自定义的。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题