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

【求教】如何获取jar包外部的配置文件?
这个配置文件可能随时修改,所以不能打包进jar中。那么该如何获得这个配置文件的路径呢?
class.getResource()的办法只能获得jar包内部的资源。因此不能使用。
用了getProperty("user.dir")+File.separator+"conf",在windows下可以正确运行。但是在linux下,不行。
比如路径如下:
--software
  --java
  --xxx.jar(jar包)
  --conf(配置文件夹)
  --config.properties(配置文件)
如果在终端中,进入到--java文件层,用javac -jar xxx.jar命令执行,获得路径为/software/java/conf,这个是没有问题的。
但是如果在--java文件层,双击运行jar的话,获得的路径则变成了/software/conf,这样就无法正确获得conf的路径了。
想请教一下各位,这样的情况应该怎么处理?

------解决方案--------------------
一般应该不会点jar包直接执行的,win下应该是用.exe或.bat的,unix用.sh之类,在这类文件中为你的项目设置一个路径(如mydir),然后你项目中所有用到的路径都先获取mydir再加上你的相对路径就行了