请告诉我将我的 .properties 文件放在我的 eclipse 项目中的确切位置。我是否为它制作一个单独的文件夹? 我想以这样一种方式表达它,以便我能够以 JAR 形式轻松地分发我的项目。
谢谢。
编辑:
我想将属性文件放在以后可以在任何操作系统上轻松编辑的方式。
最佳答案
我使用的方法是为了能够轻松更改配置而无需重新部署。
项目根目录中的属性文件(具有默认值)的一个版本,我总是将其放入应用程序包 (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);
这将首先加载存储在名为 mydefault.properties
的 foo.bar
包中的项目下的资源,然后加载系统属性 config
已配置,它将使用引用路径加载覆盖加载的属性。
可以使用 -D
参数设置系统属性,在这种情况下类似于:java -Dconfig=/home/user/custom.properties foo.bar.Main
。或者,如果您在 Web 应用程序(例如 Tomcat)中,则可以使用 CATALINA_OPTS
设置此属性。
关于java - 在eclipse项目中放置属性文件的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11656497/