我有简单的Java项目与结构:困惑Java属性文件位置
package com.abc: a.java b.java c.properties
我在c.properties文件配置的数据库配置参数。 内a.java和b.java,我加载属性文件使用:
Properties p = new Properties();
InputStream in = this.getClass().getResourceAsStream("c.properties");
p.load(in);
这工作得很好。但主要问题是,一旦我通过导出此代码来准备可执行文件jar,属性文件也会被打包成jar文件。如果有人想修改不同数据库配置的属性文件,他怎么能做到这一点? 我是否必须将属性文件存储在本地机器的某个固定位置。例如“C:/”。然后将jar和属性文件一起给予另一个人。那么他需要复制C:/ location中的属性文件? 还有一个问题,我怎样才能使这个位置通用的Windows和Linux机器?
可能重复[加载文件外部到分布罐](http://stackoverflow.com/questions/9142571/load-files-external-to-the-distribution-jar) – 2012-02-05 16:46:03