美文网首页
Springboot 打成 jar 包后,找不到 resourc

Springboot 打成 jar 包后,找不到 resourc

作者: 愤怒的阿昆达 | 来源:发表于2023-09-18 11:50 被阅读0次

Springboot 打成 jar 包后,找不到 resource 下的文件,路径出现感叹号

错误:

file:/opt/xxx/AppXXX.jar!/BOOT-INF/classes!/static/template/Word.docx (No such file or directory)

场景:

本地开发时,好好的。。
打成jar包发到线上,报错找不到resource下的模板文件了。。。
出现错误的代码:

String path = ClassUtils.getDefaultClassLoader().getResource("static/Word.docx").getPath();
FileInputStream fileInputStream = new FileInputStream(path);

解决:

InputStream fileInputStream = ClassUtils.getDefaultClassLoader().getResourceAsStream("static/Word.docx");

原因:

本地开发时,项目环境是文件夹,确实可以用 getResource 拿到 文件夹中的文件和路径
打成jar包启动后,jar是个文件不再是文件夹,所以想拿到资源文件必须用的方式,getResourceAsStream

相关文章

网友评论

      本文标题:Springboot 打成 jar 包后,找不到 resourc

      本文链接:https://www.haomeiwen.com/subject/pbjgvdtx.html