java-getClass().getResource()与getClassLoader().getResource()
2016-01-11 18:41
537 查看
getClass().getResource("path")
当path以/开头,如/a/b/c.properties时,查找的路径为: classpath路径+path。当path不以/开头时,如c.properties,查找的路径为:当前调用类的路径+path。
如:
则,代码为:
InputStream inputStream3= getClass().getResource("/com.phl.amodel/a.properties").openStream();
查找路径计算: classpath路径+path ,即:classpath+/com.phl.amodel/a.properties
getClassLoader().getResource("path")
只在当前类路径下寻找: classpath+path如a.properties放在
代码:
InputStream inputStream2= getClass().getClassLoader().getResource("com.phl.amodel/a.properties").openStream();
(不能用/开头)
查找路径计算:path=com.phl.amodel/a.properties
则查找路径为 classpath+com.phl.amodel/a.properties
当多个jar中都含有要查找的资源时,应该从哪个jar中查找
根据jar包的先后顺序加载满足path的资源那jar包的顺序是怎么的呢?
如果是maven工程,则以在pom中配置的先后为准,如有下面配置文件:
则先在useresource工程中根据path路径查找,然后在zmodel,amodel,test1,designmodel中查找。
相关文章推荐
- java.util.Collection体系源码解读<一>Collection简介
- 在Servlet使用getServletContext()获取ServletContext对象出现java.lang.NullPointerException(空指针)异常的解决办法
- Groovy与Java集成常见的坑(转)
- Java经典23种设计模式之创造型模式(一)
- HashMap
- javaweb学习总结(十五)——JSP基础语法
- TreeSet
- java中System.out.print();out的理解
- JavaWeb学习总结(十三)——使用Session防止表单重复提交
- Java Lambda表达式入门
- MyEclipse 2015优化技巧
- java读取视频文件长
- Spring Boot 使用总结(一) Spring Boot 起步
- JavaSE学习笔记-static关键字
- Spring中quartz的使用
- Java读取文件夹大小的6种方法及代码
- java天气预报调用百度接口实现
- Spring源码地址和相关介绍的网址
- Spring框架中如何读取Spring的XML配置文件
- Spring源码地址下载