您的位置:首页 > 编程语言 > Java开发

关于getClass().getResourceAsStream(path)跨项目取文件资源返回值为null的报错

2017-04-10 21:09 375 查看
项目所在环境:
maven,分模块项目,存在模块之间的依赖
1.关于getClass().getResourceAsStream(path)方法的介绍
getResourceAsStream是一个取资源的方法,返回一个InputStream类型的实例
path有两种写法:
<1>.如果path已“/”开头,那么从classpath根目录获取
<2>.如果不是“/”开头,那么从当前类所在目录下获取
2.classpath的介绍
classpath就是java文件的编译目录
右键项目->properties->java build path->source



就是这个目录下
3.所以结合以上两点,运行期间,如果path以“/”开头,那么从上图的目录下开始找,如果path不以“/”开头,那么找这个目录的子目录,就是当前java文件编译变成class文件后所在的目录下找
4.我们的项目是项目A,取项目B下的某个文件,A取B之后成功返回了值
当当我做另一个项目的时候,项目C去取项目D下面的文件资源就一直返回为null,生成不了InputStream,最后发下是依赖的问题。以为项目A添加了项目B的依赖,所以成功返回
但我的项目C并没有添加项目D的依赖,所以返回为null,添加依赖红后,成功
5.所以取文件的时候还存在你是不是取得项目的依赖项目中的文件资源
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java path
相关文章推荐