欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

如何读取jar包外的properties文件和log4j.properties

发布时间:2025/3/19 编程问答 32 豆豆
生活随笔 收集整理的这篇文章主要介绍了 如何读取jar包外的properties文件和log4j.properties 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

2019独角兽企业重金招聘Python工程师标准>>>

时间有限,不做排版和具体讲述问题产生的过程,下面是我的解决方案,已证实有效,其中Log4jP = "log4j.properties"

  private void initLog4jProperties(){//未打包时读取配置String file = this.getClass().getClassLoader().getResource(Log4jP).getFile();if(new java.io.File(file).exists()){PropertyConfigurator.configure(file);System.out.println("未打包时读取配置");return;}//读取jar包外配置文件file = System.getProperty("user.dir") +"/conf/"+Log4jP;    if(new java.io.File(file).exists()){PropertyConfigurator.configure(file);System.out.println("读取jar包外配置文件");return;}//读取jar包内配置文件InputStream in = this.getClass().getClassLoader().getResourceAsStream(Log4jP);Properties p=new Properties();try {p.load(in);PropertyConfigurator.configure(p);System.out.println("读取jar包内配置文件");} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}}

参考内容 如下 


转自 http://jrails.iteye.com/blog/1705464


一般在项目中使用properties配置文件的时候都将相关的properties文件放在src目录下,在将该app打包生成jar后,相应的properties配置文件生...

一般在项目中使用properties配置文件的时候都将相关的properties文件放在src目录下,在将该app打包生成jar后,相应的properties配置文件生成在jar包中,这样的话要修改配置文件又要重新打jar包,那是相当的麻烦。 

既然这么麻烦,你肯定想将配置文件放在其他的目录下,生成的jar包内不包含相应的配置文件,修改配置文件无需重新打包,没错,下面就是一种解决方案了。 

读取jar包内配置文件:

InputStream in = this.getClass().getClassLoader().getResourceAsStream("/configfilename.properties");

读取jar包外配置文件:

String filePath = System.getProperty("user.dir") + "/conf/configfilename.properties";     InputStream in = new BufferedInputStream(new FileInputStream(filePath));

另外,如果app中使用到log4j.properties文件,默认的存放路径是src/log4j.properties,同上面一样,我想把log4j.properties放在其他目录中,这样一来,在修改log4j配置文件的时候无需重新打jar包。 

在main函数第一行添加如下代码:

PropertyConfigurator.configure(System.getProperty("user.dir") + "/conf/log4j.properties");


转载于:https://my.oschina.net/u/1866821/blog/507757

总结

以上是生活随笔为你收集整理的如何读取jar包外的properties文件和log4j.properties的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。