现象:
在web页面导入excel文件,excel中包含图片,在后台进行解析的时候,有时候会报NullPointerException。
问题排查:
由于POI里面并没有把这里的错误信息输出到日志文件,在服务器上报错后,从后台日志文件中根本看不出什么。
在本地调试的时候,又没有报错,搞得我们一直以为是临时文件的没有正常读取导致的,而且我们把tomcat的temp目录删除后重启,竟然神奇又不报错了。
哪知道昨天客户现场又报这个错,但是我刚刚删除了temp目录,重启了tomcat啊!!!受不了,我死活都要找到原因,说干就干,把线上的temp目录覆盖我本地的temp目录,
本地环境启起来,拿那个现场出错的excel一试,错误没有辜负我的期望,如期而遇,控制台错误日志如下(吐槽POI,这个错误日志竟然只输出控制台):
java.lang.NullPointerException
at org.apache.poi.ss.util.ImageUtils.getResolution(ImageUtils.java:117)
at org.apache.poi.ss.util.ImageUtils.getImageDimension(ImageUtils.java:79)
at org.apache.poi.ss.util.ImageUtils.setPreferredSize(ImageUtils.java:141)
at org.apache.poi.xssf.usermodel.XSSFPicture.getPreferredSize(XSSFPictu