SpringBoot打包成jar后,如何确保能正确读取resources目录下的文件?

2026-05-21 08:400阅读0评论SEO资源
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计783个文字,预计阅读时间需要4分钟。

SpringBoot打包成jar后,如何确保能正确读取resources目录下的文件?

开发一个Word替换功能时,若需要替换其中的内容,需使用Word模板。将模板文件`word_replace_tpl.docx`放置于`resources`目录下,并在开发环境中通过以下方法读取:

javaInputStream inputStream=getClass().getClassLoader().getResourceAsStream(word_replace_tpl.docx);

然后,你可以使用这个输入流来处理Word文档。

开发一个word替换功能时,因替换其中的内容功能需要 word 模版,就把 word_replace_tpl.docx 模版文件放到 resources 下

在开发环境中通过下面方法能读取word_replace_tpl.docx文件,但是打成jar包在 linux下运行后无法找到文件了

File file = ResourceUtils.getFile(ResourceUtils.CLASSPATH_URL_PREFIX + "static/office_template/xxx.docx");

在开发环境运行时,会把资源文件编译到 项目\target\classes\static\office_template\xxx.docx 目录下,但是打包成jar后,

Resource下的文件是存在于jar这个文件里面,在磁盘上是没有真实路径存在的,它是位于jar内部的一个路径。所以通过ResourceUtils.getFile或者this.getClass().getResource("")方法无法正确获取文件。

阅读全文

本文共计783个文字,预计阅读时间需要4分钟。

SpringBoot打包成jar后,如何确保能正确读取resources目录下的文件?

开发一个Word替换功能时,若需要替换其中的内容,需使用Word模板。将模板文件`word_replace_tpl.docx`放置于`resources`目录下,并在开发环境中通过以下方法读取:

javaInputStream inputStream=getClass().getClassLoader().getResourceAsStream(word_replace_tpl.docx);

然后,你可以使用这个输入流来处理Word文档。

开发一个word替换功能时,因替换其中的内容功能需要 word 模版,就把 word_replace_tpl.docx 模版文件放到 resources 下

在开发环境中通过下面方法能读取word_replace_tpl.docx文件,但是打成jar包在 linux下运行后无法找到文件了

File file = ResourceUtils.getFile(ResourceUtils.CLASSPATH_URL_PREFIX + "static/office_template/xxx.docx");

在开发环境运行时,会把资源文件编译到 项目\target\classes\static\office_template\xxx.docx 目录下,但是打包成jar后,

Resource下的文件是存在于jar这个文件里面,在磁盘上是没有真实路径存在的,它是位于jar内部的一个路径。所以通过ResourceUtils.getFile或者this.getClass().getResource("")方法无法正确获取文件。

阅读全文