SpringBoot打jar包或war包获取不到资源文件解决办法
问题描述
在eclipse中运行正常打成jar或war包后不能获取到,
在本地中打印的日志路径为
/lap-service/out/production/resources/template
但是在将SpringBoot打包成war包部署到Tomcat中时打印的目录为
/lap-service-1.0.0-SNAPSHOT.jar!/WEB-INF/classes!/template/
可以看到在Linux中无法直接访问未经解压的文件,所以就会找不到文件
解决办法
读取jar里面的文件,我们只能用流去读取,不能用File
通过ClassLoader的getResourceAsStream()方法获取其流,就能够获取到