开发时候正常,打成Jar包读取properties就出错
下面的代码在开发时运行正常,打成jar包就出错,。。。
private Properties loadProperty() { if (this.prop == null) { try { System.out.println("loading property:" + path); InputStream in = new BufferedInputStream(new FileInputStream(new File(path))); System.out.println(in); prop = new Properties(); System.out.println("prop:" + prop); prop.load(in); System.out.println("数据源配置文件:" + path + "读取成功"); } catch (FileNotFoundException e) { e.printStackTrace(); throw new RuntimeException(e); } catch (IOException e) { e.printStackTrace(); throw new RuntimeException(e); } } return this.prop; }
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
上面的上面说得很对,jar包里面你得用你类.getClass().getClassLoader().get。。。。
要用流读取的
根据某个类的ClassLoader去获取配置文件的流
是在jar包外,传递给File的路径是绝对路径。。很奇怪,不过我检查发现不是jar包的问题,谢谢指点
Properties 是在jar包里,还是jar包外,如果是jar包里面,new File()应该是取不到的吧.