开发时候正常,打成Jar包读取properties就出错

一条大河波浪宽 发布于 2013/10/15 18:19
阅读 1K+
收藏 0

【开源中国 APP 全新上线】“动弹” 回归、集成大模型对话、畅读技术报告”

下面的代码在开发时运行正常,打成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;
	}

以下是问题补充:

@一条大河波浪宽:打成jar薄厚可以一直到prop.load(in)之前都执行了,但该行代码后的就不执行,而且程序一直运行,但没有结果,也不报错 (2013/10/15 18:20)
加载中
0
vidy_tu
vidy_tu
Properties 是在jar包里,还是jar包外,如果是jar包里面,new File()应该是取不到的吧.
一条大河波浪宽
一条大河波浪宽
是在jar包外,传递给File的路径是绝对路径。。很奇怪,不过我检查发现不是jar包的问题,谢谢指点
0
純白陰影
純白陰影
根据某个类的ClassLoader去获取配置文件的流
0
心有灵犀
心有灵犀
要用流读取的
0
kidbei
kidbei
上面的上面说得很对,jar包里面你得用你类.getClass().getClassLoader().get。。。。
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部