解决使用jar包部署SpringBoot项目后读取resources文件夹下的文件报错

  解决使用jar包部署SpringBoot项目后读取resources文件夹下的文件报错:cannot be resolved to absolute file path because it dose not reside in the file system

  问题原因:因为项目部署是使用jar包的方式部署的,resources文件夹下的东西被打包到jar包里了。而jar包本质上是个压缩包,然后代码里获取文件的方式是这么写的:
 File file = new ClassPathResource(filePath).getFile(); 

  这样写是通过ClassPathResource工具类获取resources文件夹下的文件,然后将文件写出去。
  但是,因为我们是以jar包的方式部署的项目,模板文件被打到了jar包里,这个api是无法将jar包中的文件直接读取出来的,导致了文件无法读取到。
  问题解决
  因为文件在jar包里,所以无法直接获取文件,所以我们改为使用二进制文件流的方式,就可以正常读取到文件了。将上面的代码改为下面的就可以解决了:
 

InputStream fileInputStream = new ClassPathResource(filePath).getInputstream();

 

 

点赞

当前页面评论已关闭。

隐藏
变装