美文网首页
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