.class.getClassLoader().getResourceAsStream()为null
今天学习jedis,我创建的web项目,学习到jedis连接池工具时,使用.class.getClassLoader().getResourceAsStream()获取放在src下的jedis.properties文件时,怎么获取都为null,一开始我以为是路径原因,后来copy了绝对路径上去也不行,小小的bug愣是卡了我一个多小时,我宝贵的时间就被这可恶的bug偷走了。我第一时间就搜索抛出的异常
今天学习jedis,我创建的web项目,学习到jedis连接池工具时,使用.class.getClassLoader().getResourceAsStream()获取放在src下的jedis.properties文件时,怎么获取都为null,一开始我以为是路径原因,后来copy了绝对路径上去也不行,小小的bug愣是卡了我一个多小时,我宝贵的时间就被这可恶的bug偷走了。
出现问题:.class.getClassLoader().getResourceAsStream()获取为null且不是路径问题。
我第一时间就搜索抛出的异常信息:ExceptionInInitializerError。结果百度上说是什么static加载问题,我怎么检查我的代码也是没问题的呀。
后来又继续换搜索词:.class.getClassLoader().getResourceAsStream()为null,第一次的解决方案是说resources没有Add到Content Root中,我试了没用,因为我当时要获取的文件并没有放到resources文件当中,后来再看到一篇博主博客说需要创建一个resources再将需要读取的文件放到里面,我就试了试,将我的文件放入resources文件夹中没想到就成功了。555怎么没早看到。
解决方法:
第一步,将你要获取的文件放到resources中
第二步:检查Project Structure中的Modules中的Sources中有没有你文件存放的根目录
我的就没问题了。
我知道了,因为我创建的是maven项目,所以资源配置文件夹要放在maven指定的resource文件当中才能被访问到。
更多推荐
所有评论(0)