今天学习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文件当中才能被访问到。

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐