问题描述
XXX.class.getClassLoader().getResourceAsStream(path)获取resources下的.xml文件,总是报错null,具体报错如下
org.dom4j.DocumentException: null Nested exception: null
at org.dom4j.io.SAXReader.read(SAXReader.java:484)
at org.dom4j.io.SAXReader.read(SAXReader.java:343)
at com.lh.config.XMLConfigBuilder.parseConfig(XMLConfigBuilder.java:35)
at com.lh.sqlSession.SqlSessionFactoryBuilder.build(SqlSessionFactoryBuilder.java:20)
...
分析解决过程:
1.简单粗暴,百度搜素
依照https://www.cnblogs.com/OpheliaChai/archive/2020/05/31/getResourceAsStream.html此文档中方法尝试,pass
2.怀疑路径写错,反复检查,绝对路径,相对路径都尝试,
pass
3.仔细分析检查发现生成的target-classes下没有需要加载的xml文件,似乎有了眉目
4.参考https://www.jianshu.com/p/a1feadd8f9d4此文档,研究怎么在classes下生成xml文件
前4个方法都尝试了不行,以为又是竹篮打水一场空的时候,尝试了第五种方法,发现自己果然在pom中配置了打包方式为pom,所以classes中一直没有xml文件生成
将pom改为war之后,一路顺风顺水
*祝你好运,应该看不完我这一篇问题就解决了!*
原来不收藏,有一天真的会找不到!