动态配置配置文件路径
应用场景
做项目中经常问出现开发环境和生产环境配置文件路径不一样的情况。对于这样的问题,我们可没必要给每个环境准备一套代码。
解决方法
我们可以通过传递不同的vm 参数来实现动态路径。 参考代码如下。
package io.hk.www
public class Demo {
public static void main(String[] args){
String path = System.getProperty("myhome");
if(path == null){
System.setProperty("myhome", System.getProperty("user.dir"));
}
System.out.print(System.getProperty("myhome"));
}
}
配置文件读取方式为:
File file =new File(System.getProperty("myhome")+conf.json);
那么我们启动的时候命令为:
java -Dmyhome=/home/kyle/mywork io.hk.www.Demo
这样就搞定了,如果没有参数,我们使用user.dir作为配置文件的根路径