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相关推荐

  1. Java如何读取JAR包外的properties文件及打成jar包后无法读取到jar包内的properties文件

    项目中,经常把一部分功能独立出来,做一个java  project,然后打成jar包供其他项目引用.这时候,如果jar包中需要读取配置文件信息,则很少把该配置打进jar包,因为它不方便修改,更多都是采 ...

  2. 如何读取jar包外的properties和log4j.properties等配置文件

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

  3. 使用FileInputStream读取jar包中的资源文件

    1.问题现象:项目打成jar包后,使用ResourceUtils.getFile(keystoreFile)无法访问到资源文件 //classpath为resources目录下 String test ...

  4. 02_MyBatis项目结构,所需jar包,ehcache.xml配置,log4j.properties,sqlMapConfig.xml配置,SqlMapGenerator.xml配置

     项目结构(所需jar包,配置文件) sqlMapConfig.xml的配置内容如下: <?xmlversion="1.0"encoding="UTF-8&qu ...

  5. 读取jar包所在目录和jar包内文件

            在网上查找了很多关于读取jar包的相对路径资料,但是大多都是读取jar包内文件的方法介绍,甚至有人将读取包内路径的方法混淆为读取包外路径的方法.经过本人亲自的测试,对于两种读取文件的方 ...

  6. java 如何读取jar包内资源文件_【解惑】深入jar包:从jar包中读取资源文件

    我们常常在代码中读取一些资源文件(比如图片,音乐,文本等等).在单独运行的时候这些简单的处理当然不会有问题.但是,如果我们把代码打成一个jar包以后,即使将资源文件一并打包,这些东西也找不出来了.看看 ...

  7. Spring读取jar包外部的配置文件properties

    2019独角兽企业重金招聘Python工程师标准>>> 一 . 如何获取jar包外的文件? 新项目用jar包运行,直接需求就是读取jar外部的配置文件properties,做到不同的 ...

  8. 解决springboot读取jar包中文件的问题

    解决springboot读取jar包中文件的问题 参考文章: (1)解决springboot读取jar包中文件的问题 (2)https://www.cnblogs.com/songxiaotong/p ...

  9. java 读取jar包中的文件

    文章目录 项目resource中文件路径和jar包中文件路径的区别 正常读取 jar包读取 完整代码: 项目resource中文件路径和jar包中文件路径的区别 打成jar包后,是一个整体的文件. 正 ...

最新文章

  1. 【opencv】(6) 图像轮廓处理
  2. Linux(1)---常用命令
  3. linux sublime 输入中文,Linux中Sublime Text无法输入中文怎么办
  4. external libraries里没有maven包_Maven企业实战系列(三):彻底看懂maven的体系结构...
  5. 阿里前CEO卫哲的万字长文:被马云骂醒,看透B2B 10大核心问题!
  6. Java上传文件到MongoDB GirdFS
  7. 台阶问题练习题 (简单的dp)
  8. Nature:给博士研究生的四条箴言Four golden lessons,颜宁:写的真好!
  9. 记录——《C Primer Plus (第五版)》第八章编程练习第四题
  10. DEEPNOVA 技术荟系列公开课回顾:释放海量数据价值,尽显数据智能之美
  11. 非涉密计算机保密自查表,非涉密计算机检查记录表-保密处-20210711022211.pdf-原创力文档...
  12. Layui中文离线版文档
  13. JVisualVM初步使用
  14. HBase的安装和使用
  15. 通过面积证明:两个函数相乘 / 相除的导数为什么长成这样?
  16. eclipse一些有用的技巧总结
  17. 金山办公CEO章庆元:数字化、云化、订阅化趋势下,组织数字办公走向纵深
  18. “好奇号”的火星发展观
  19. 计算机算命是伪科学,有人说“中医算命等是伪科学,这句话本身就是无知的”,你怎么看?...
  20. rs485转rs232串口转换器常见的故障剖析

热门文章

  1. 空列表不等同于None
  2. 计算机不读三星硬盘分区,电脑磁盘分区指南!一分钟就学会
  3. c++使用cin输入数据
  4. Leetcode-199二叉树的右视图(二叉树左视图)
  5. 【研发管理】华为十大架构与设计核心原则
  6. 【研发管理】中国企业 VS 世界优秀企业在产品研发上差距(下)
  7. 《系统集成项目管理工程师》必背100个知识点-67工作说明书和范围说明书
  8. Vue+Leaflet-side-by-side插件实现拉帘对比效果
  9. C#中控制窗体的显示与隐藏
  10. textarea怎样隐藏滚动条