请告诉我在哪里将我的.properties文件放在我的eclipse项目中。我为它制作一个单独的文件夹吗? 我想以这样的方式表达我能够以JAR形式轻松分发我的项目。
感谢。
编辑:
我希望将属性文件放在以后可以在任何操作系统上轻松编辑的方式。
答案 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
将是一个理想的选择。