Eclipse打jar包,资源文件的读取
2024-10-19 12:03:41
最近的工作中需要将java程序打一个jar包,然后在Linux中供调用。程序中需要读取一个配置文件。遇到了三个问题。第一个是依赖的第三方Jar包打成Jar包后找不到;第二个问题是资源文件所在的文件夹打jar包时没有一起打入Jar包中;第三个问题是找不到资源文件,无法读取到指定的文件。下面给出我对三个问题的解决方法:
第三方jar包找不到
针对这个问题,我没有按照网上一般的方法自己写MANIFIST.FM文件的方式。因为我只依赖了一个数据库驱动的jar包,我偷了个懒,直接选中工程右键单击,选择export-->Runnable JAR file-->出现如下所示界面,选择执行程序和Jar包地址,最后在Library handling选择一定选择Extract required libraries into generated
JAR选项,该选项是将所第三方Jar包中的用到的class一起打到生成的Jar包中。这样就不会出现第三方的NoClassDefoundError了。
资源文件或配置文件不能打入Jar包中
针对这个问题,需要将配置文件或资源文件所在的文件夹放在类所在的根目录下,就可以一起打包了,如下图中config文件夹所示:
资源文件读取不到
针对这个问题,是因为我们在将工程打成Jar包之后,不能再按照文件的绝对路径找到配置文件了,因为文件已经在Jar包里面了,Jar包是一个特殊的文件,不能通过文件夹路径找到Jar里面的配置文件。可以通过类加载器按照相对路径读取配置文件:
String configFile = "config/cws.cfg" ; InputStream is = **.getClassLoader().getResourceAsStream(configFile);
详细的关于资源文件读取的知识,请参考:http://www.iteye.com/topic/483115
最新文章
- ssh/openssh
- android之远程启动服务
- 问题-delphi XE2 Stack Overflow- save your work and restart CodeGear
- Oracle行转列实例
- Oracle汇总笔记
- rowid去重(删除表的重复记录)
- [js高手之路]搞清楚面向对象,必须要理解对象在创建过程中的内存表示
- Python 标示符和关键字
- line-height
- 连接 sqlserver
- 微信redirect_uri域名与后台配置不一致,错误代码10003
- MD5密码加密
- D3D9 effect (hlsl)(转)
- Swift - 用UIScrollView实现视差动画效果
- python ipython spyder
- java基础篇---枚举详解
- Python实现KNN算法及手写程序识别
- Selenium2+python自动化55-unittest之装饰器(@classmethod)
- Nagle's Algorithm and TCP_NODELAY
- Selenium 安装与卸载