SpringBoot打jar包后无法访问resource下的文件

SpringBoot打jar包后无法访问resource下的文件

项目中有一个文件需要在程序中读取,文件位置resource/word.txt 读取方式如下。

1
2
File file = ResourceUtils.getFile("classpath:word.xlsx");
InputStream inputStream = new FileInputStream(file);

在开发环境IDE中是可以正常访问的,而当打jar包发布到线上就找不到了。原因估计是springboot内置tomcat,打包后是一个jar包导致的。

  • 解决方法:
1
2
3
4
5
6
7
8
9
//第一种 已验证
InputStream inputStream = Thread.currentThread().getContextClassLoader().getResourceAsStream("word.txt");

//第二种
ClassPathResource classPathResource = new ClassPathResource("word.txt");
InputStream inputStream =classPathResource.getInputStream();

//第三种
InputStream inputStream = this.getClass().getResourceAsStream("/word.txt");
-------------已经触及底线 感谢您的阅读-------------

本文标题:SpringBoot打jar包后无法访问resource下的文件

文章作者:趙小傑~~

发布时间:2020年03月29日 - 21:49:43

最后更新:2020年04月04日 - 23:46:24

原始链接:https://cnsyear.com/posts/44adb960.html

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。

0%