我有簡單的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