您的位置:首页 > 运维架构

Class.getResource,ClassLoader.getResource 和 System.getProperty("user.dir")的对比

2016-11-22 15:43 881 查看
本文将从两个方面对比,一个是在工程中运行,一个是打成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)来读取配置信息。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息