1.背景
一些老项目本地环境搭建过程中,有时候需要去手动读取resources下的配置文件,但读取不到。项目工程目录结构如下图
2.代码
读取方式如下:
File home = new File(getApplicationHome());
File conf = new File(home, "config");
File propFile = new File(conf, "launcher.properties");
is = new FileInputStream(propFile);
properties = new Properties();
properties.load(is);
其中getApplicationHome()方法如下:
private String getApplicationHome() {
return System.getProperty("application.home", System.getProperty("user.dir"));
}
问题就出在这个获取user.dir这里,那么idea中设置user.dir目录为target/classes即可解决问题!
3.解决
设置方式如下:
idea会把编译好的配置文件放进target/classes文件中,如果没有,那么要检查下pom配置以及工程的java、resources设置
ctrl+shift+alt+s打开也可以通过 File->ProjectStructure->图示: