将属性文件放在eclipse项目中的位置

时间:2012-07-25 18:45:10

标签: java eclipse properties-file

请告诉我在哪里将我的.properties文件放在我的eclipse项目中。我为它制作一个单独的文件夹吗? 我想以这样的方式表达我能够以JAR形式轻松分发我的项目。

感谢。

编辑:

我希望将属性文件放在以后可以在任何操作系统上轻松编辑的方式。

2 个答案:

答案 0 :(得分:6)

我使用的方法是轻松更改配置而无需重新部署

项目根目录中的一个版本的属性文件(带有默认值),我总是将它放在应用程序包(foo.bar.myapp)中。我在相对于类包的示例中加载了getResourceAsStream("/foo/bar/myapp/config.properties")或类似的默认值。

另外我准备了一个系统属性:

String configFileLocation = System.getProperty("config");

只需使用从作为属性传递的配置文件中读取的属性覆盖默认值。

例如:

Properties props = new Properties();
props.load(Main.class.getResourceAsStream("mydefault.properties"));

System.out.println("default loaded: " + props);

String configFile = System.getProperty("config");
if (configFile != null) {
    props.load(new FileInputStream(configFile));
    System.out.println("custom config loaded from " + configFile);
}

System.out.println("custom override: " + props);

这会先将您项目中存储的资源加载到名为foo.bar的{​​{1}}包中,如果配置系统属性mydefault.properties,它将加载覆盖已加载的属性引用的路径。

可以使用config参数设置系统属性,在这种情况下可以是:-D。或者,如果您在Web应用程序(例如Tomcat)中,则可以使用java -Dconfig=/home/user/custom.properties foo.bar.Main设置此属性。

答案 1 :(得分:0)

src/main/resource将是一个理想的选择。