本文将从两个方面对比,一个是在工程中运行,一个是打成jar包运行
1.在工程中运行
2.打成jar包运行
可运行jar包
作为第三方jar包,供其他工程调用
总结:1.class.getResource(String path)
path不以’/'开头时,默认是从此类所在的包下取资源;
path 以’/'开头时,则是从ClassPath根下获取;
2.Class.getClassLoader().getResource(String path)path不能以’/'开头时; path是从ClassPath根下获取;此方法不仅会扫描本工程下的classpath路径下的文件,还会扫描jar包中的文件
3.System.getProperty("user.dir") 为用户当前的工作目录。如果一个工程作为一个独立的服务运行,经常用此属性获取指定文件夹下的 配置文件,例如System.getProperty("user.dir") +“/conf/service.properties”;如果一个工程作为第三方jar包提供服务则最好用Class.getClassLoader().getResource(String path)来读取配置信息。