eclipse打包了可执行的jar文件.怎么让jar读取同级目录下的properties和xml配置文件 20
打包了可执行的jar文件.但是properties文件和xml全部都包含在jar中.这样就没有办法修改配置文件了.现在想把配置文件都放在jar同级的目录下.让jar来读取...
打包了可执行的jar文件.但是properties文件和xml全部都包含在jar中.这样就没有办法修改配置文件了.现在想把配置文件都放在jar同级的目录下.让jar来读取,怎么实现?如果是Linux下和windows下有没有什么区别?求助!!
展开
1个回答
展开全部
您好,读取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");
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");
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询