美文网首页工作生活
(工作小记)不同jar包下的同名同路径配置文件读取

(工作小记)不同jar包下的同名同路径配置文件读取

作者: 李亚林1990 | 来源:发表于2019-07-18 22:40 被阅读0次

    问题场景:
    Demo工程引入a.jar,b.jar两个jar包,a.jar和b.jar下都存在同一个db.properties配置文件,读取配置信息的时候是否存在冲突和覆盖的问题?

    工作中几种常用的读取方式
    方式一:

                Thread.currentThread().getContextClassLoader().getResourceAsStream("xxx.properties");
    

    方式二:

                Thread.class.getResourceAsStream("xxx.properties")
    

    方式三:

                Enumeration<URL> urls = Thread.currentThread().getContextClassLoader().getResources("xxx.properties");
                while(urls.hasMoreElements()) {
                    InputStream inst = urls.nextElement().openStream();
                }
    

    经验证:
    方式一和方式二都只能读取到一个配置文件信息,优先级由-classpath 引入jar的顺序决定,靠前的jar的配置文件具有更高的优先级。
    而方式三则能读取到不同jar下的所有同名配置文件。

    转载请备注原文链接。

    相关文章

      网友评论

        本文标题:(工作小记)不同jar包下的同名同路径配置文件读取

        本文链接:https://www.haomeiwen.com/subject/xeldhctx.html