日期:2014-05-20  浏览次数:20657 次

java工具包在读取配置文件方面的问题,纠结啊
最近在编写一个供别人调用的工具包,里面需要用到配置文件,但是在获取配置文件路径这一块被恶心到了,之前采用了ResourceBundle,假设调用我的工具包的程序打包后的文件名为a.jar,那么我把我的配置文件和a.jar放在一个目录,始终就是读不到,无奈换成了Properties,通过ClassLoader.getSystemResource("").getPath() + "config.properties";来获取我的配置文件,程序在myEclipse里面运行的很正常,每次只要把配置文件放在src下面就可以了,但是一旦打包之后,就让我有些晕乎了,能不能找到配置文件完全取决于调用我的工具包的程序,有些程序需要在打包时选择Extract required libraries into generated JAR 才能读到我的配置文件,有的则需要选择Package required libraries into generated JAR才可以,我的配置文件一直和主调程序的可执行jar文件放在同一个目录下,按照我的思路来说,不管在哪里执行ClassLoader.getSystemResource("").getPath(),都会获得当前可运行jar文件所在的路径,那我把我的配置文件和可执行jar文件放在一个目录中应该是正确的啊,纠结死了,请教大神,这到底是什么原因呢,你们一般在写供别人调用的工具包的时候,是怎么读取配置文件的呢,怎么才有实现像ehcache.jar读取自己的配置文件ehcache.xml那样稳定而不出问题呢?

------解决方案--------------------
参考下,我之前研究了下这个问题:http://blog.csdn.net/withiter/article/details/11924095