-
【背景】:公司前两天版本测试遇到的一个问题,需要批量动态生成PDF文件,于是我将PDF模板文件放在了resources下面,通过File file = new File("/文件路径")的方式读取,本地测试和一个测试环境部署都没有问题,但是另一个测试环境出现问题,一直报500,错误日志也没有显示到PDF模板读取这里,于是定位了好久,终于找到这个问题;
-
【解决方案】:查了一下发现,以jar包形式运行的时候不能用File file = new File("/文件路径")的方式读取,可能会读取不到,需要换成this.getClass().getResourceAsStream("/template.pdf");这种法式读取;
-
【新的问题】:用上面方式还是没有读取到文件,于是我将打的jar包进行反编译,发现我的template.pdf文件压根没有打包进去,于是去pom.xml做打包配置;
<resources> <resource> <directory>src/main/java</directory> <includes> <include>**/*.xml</include> <include>**/*.properties</include> <include>**/*.yml</include> <include>**/*.pdf</include> </includes> <filtering>false</filtering> </resource> <resource> <directory>src/main/resources</directory> <includes> <include>**/*.xml</include> <include>**/*.properties</include> <include>**/*.yml</include> <include>**/*.pdf</include> </includes> <filtering>false</filtering> </resource> </resources>
-
再次打包,发现问题解决咯!!!bye!!!
this.getClass().getResourceAsStream(““)读取为null(jar包运行无法读取文件)
最新推荐文章于 2023-06-14 15:13:22 发布