`
J2EE小熊
  • 浏览: 107656 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

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

    博客分类:
  • Java
阅读更多

 

一般在项目中使用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");
 

 

 

 

 

 

 

 

 

 

 

 

分享到:
评论
1 楼 至尊宝_唯一 2012-02-16  
谢谢啦,真心觉得读取配置文件要向jar包那么方便就好了

相关推荐

Global site tag (gtag.js) - Google Analytics