如何读取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相关推荐
- Java如何读取JAR包外的properties文件及打成jar包后无法读取到jar包内的properties文件
项目中,经常把一部分功能独立出来,做一个java project,然后打成jar包供其他项目引用.这时候,如果jar包中需要读取配置文件信息,则很少把该配置打进jar包,因为它不方便修改,更多都是采 ...
- 如何读取jar包外的properties和log4j.properties等配置文件
一般在项目中使用properties配置文件的时候都将相关的properties文件放在src目录下,在将该app打包生成jar后,相应的properties配置文件生... 一般在项目中使用prop ...
- 使用FileInputStream读取jar包中的资源文件
1.问题现象:项目打成jar包后,使用ResourceUtils.getFile(keystoreFile)无法访问到资源文件 //classpath为resources目录下 String test ...
- 02_MyBatis项目结构,所需jar包,ehcache.xml配置,log4j.properties,sqlMapConfig.xml配置,SqlMapGenerator.xml配置
项目结构(所需jar包,配置文件) sqlMapConfig.xml的配置内容如下: <?xmlversion="1.0"encoding="UTF-8&qu ...
- 读取jar包所在目录和jar包内文件
在网上查找了很多关于读取jar包的相对路径资料,但是大多都是读取jar包内文件的方法介绍,甚至有人将读取包内路径的方法混淆为读取包外路径的方法.经过本人亲自的测试,对于两种读取文件的方 ...
- java 如何读取jar包内资源文件_【解惑】深入jar包:从jar包中读取资源文件
我们常常在代码中读取一些资源文件(比如图片,音乐,文本等等).在单独运行的时候这些简单的处理当然不会有问题.但是,如果我们把代码打成一个jar包以后,即使将资源文件一并打包,这些东西也找不出来了.看看 ...
- Spring读取jar包外部的配置文件properties
2019独角兽企业重金招聘Python工程师标准>>> 一 . 如何获取jar包外的文件? 新项目用jar包运行,直接需求就是读取jar外部的配置文件properties,做到不同的 ...
- 解决springboot读取jar包中文件的问题
解决springboot读取jar包中文件的问题 参考文章: (1)解决springboot读取jar包中文件的问题 (2)https://www.cnblogs.com/songxiaotong/p ...
- java 读取jar包中的文件
文章目录 项目resource中文件路径和jar包中文件路径的区别 正常读取 jar包读取 完整代码: 项目resource中文件路径和jar包中文件路径的区别 打成jar包后,是一个整体的文件. 正 ...
最新文章
- 【opencv】(6) 图像轮廓处理
- Linux(1)---常用命令
- linux sublime 输入中文,Linux中Sublime Text无法输入中文怎么办
- external libraries里没有maven包_Maven企业实战系列(三):彻底看懂maven的体系结构...
- 阿里前CEO卫哲的万字长文:被马云骂醒,看透B2B 10大核心问题!
- Java上传文件到MongoDB GirdFS
- 台阶问题练习题 (简单的dp)
- Nature:给博士研究生的四条箴言Four golden lessons,颜宁:写的真好!
- 记录——《C Primer Plus (第五版)》第八章编程练习第四题
- DEEPNOVA 技术荟系列公开课回顾:释放海量数据价值,尽显数据智能之美
- 非涉密计算机保密自查表,非涉密计算机检查记录表-保密处-20210711022211.pdf-原创力文档...
- Layui中文离线版文档
- JVisualVM初步使用
- HBase的安装和使用
- 通过面积证明:两个函数相乘 / 相除的导数为什么长成这样?
- eclipse一些有用的技巧总结
- 金山办公CEO章庆元:数字化、云化、订阅化趋势下,组织数字办公走向纵深
- “好奇号”的火星发展观
- 计算机算命是伪科学,有人说“中医算命等是伪科学,这句话本身就是无知的”,你怎么看?...
- rs485转rs232串口转换器常见的故障剖析