文档章节

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

达文西W
 达文西W
发布于 2017/03/28 10:13
字数 320
阅读 440
收藏 0

打成jar包后无法读取到jar包内的properties文件 发现在eclipse里一切正常,但打成jar包后就无法读取到properties文件了。 之前的程序是这样获取配置文件的: Thread.currentThread().getContextClassLoader().getResource("").getPath() +filename+".properties") 来获取properties文件,但发现一运行就报错.后来将代码改成:

this.getClass().getClassLoader().getResourceAsStream(filename+".properties")

一切正常~ 关于java 的 classloader 还是有点概念不清,需要补补~~ 一般在项目中使用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)); 

© 著作权归作者所有

达文西W

达文西W

粉丝 9
博文 29
码字总数 6998
作品 0
朝阳
程序员
私信 提问
java Project 打公用jar包 配置文件读取

废话不多说,流程如下: 代码链接: http://git.oschina.net/alexgaoyh/ZhongXinYinHang 1:创建一个java Project; 2:引入相关的jar包,并且加入到Build Path; 3: 相关代码编写(com.alexg...

alexgaoyh
2015/03/24
3.3K
0
如何读取jar包外的properties文件和log4j.properties

时间有限,不做排版和具体讲述问题产生的过程,下面是我的解决方案,已证实有效,其中Log4jP = "log4j.properties" private void initLog4jProperties() { //未打包时读取配置 String file ...

Carl_
2015/09/17
1K
0
java中jar包内的类访问jar包内部的资源文件路径和获得读取资源文件内容的问题

在大数据开发和java web开发中,我们有时会在程序中读取一些资源文件的内容。当我们在本地运行调试的时候是没有任何问题的,但是当我们将程序打成jar包上传到集群中后运行时,发现报错:“找...

stys35
01/14
78
0
Java中Properties配置文件读取

以下实践的是Properties配置文件的基本操作方法。像spring使用xml做依赖注入时,这个配置文件起到非常实用的作用。 一、格式规范 参考wiki百科的格式简介:https://zh.wikipedia.org/wiki/....

easonjim
2017/03/08
0
0
java 如何读取jar包外的properties文件

一般情况下properties文件都是在工程内使用的,如果application打成jar包之后,修改properties文件后就需要重新打jar,很麻烦。 于是把properties文件提到jar包统计目录,这样修改后不用重新...

jing31
2010/09/30
3.7K
8

没有更多内容

加载失败,请刷新页面

加载更多

[mycat]PartitionByString分片报错

java.lang.RuntimeException: error,check your partitionScope definition.at io.mycat.route.util.PartitionUtil.<init>(PartitionUtil.java:69) PartitionUtil.java 注意:其中count,l......

Danni3
23分钟前
8
0
OSChina 周三乱弹 —— 魂淡!不是这种粪发涂墙

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @小小编辑推荐歌曲《10/10》- Rex Orange County 《10/10》- Rex Orange County 手机党少年们想听歌,请使劲儿戳(这里) @奋斗的小牛 :上午...

小小编辑
36分钟前
622
8
Arduino教程:认识Arduino控制板

@toc 1.1 课程说明 认识Arduino控制板的各个部分, 1.2 器材 名称 数量 规格 Arduino uno控制板 1 R3 1.3 UNO电路: UNO参数 名称 参数说明 工作电压: 5V 输入电压: 接上USB时无须外部供电...

acktomas
42分钟前
6
0
WeUI框架

WeUI框架 WeUI是一套小程序的UI框架,所谓UI框架就是一套界面设计方案,有了组件,我们可以用它来拼接出一个内容丰富的小程序,而有了UI框架,我们就可以让我们的小程序变得更加美观。 体验W...

达达前端小酒馆
45分钟前
5
0
Rainbond 5.1.8发布,应用网关支持多IP网络接入

2019年10月23日,Rainbond发布5.1.8版本,本次版本更新带来了应用网关对多IP的支持, 第三方组件对域名实例的支持 等新功能和修复若干BUG。 Rainbond:支撑企业应用的开发、架构、交付和运维的...

好雨云帮
46分钟前
8
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部