解决SpringBoot jar包下resources目录下文件读取不到

由于业务需要,在 SpringBoot 项目下的 resources 目录需要放一个 docx 文件,并进行读取,本来采用的 Spring 提供的 ResourceUtil 进行读取,本地测试正常,在服务器打成 jar 包后,发现文件读取不到,代码如下:

File fileTemplate = org.springframework.util.ResourceUtils.getFile("classpath:AnalyseTemplate.docx");

查了之后,发现在 jar 包中需要使用 inputStream 进行读取,于是修改代码如下即可:

ClassPathResource res = new ClassPathResource("AnalyseTemplate.docx");
InputStream fileTemplate = res.getInputStream();

在网上查询了一下,原因可能如下:
在 jar 包中的所有文件没有一个具体的路径,使用 ClassPathResource 的话,会初始化一个类加载器,并将项目中用到的所有路径都加载到类加载器中,那么去获取资源的话,会去这所有的路径中都进行寻找,因此可以找到文件,总之还是文件路径的原因

相关推荐

  1. 解决SpringBoot jarresources目录文件读取

    2023-12-07 18:04:03       41 阅读
  2. [Spark] 读取项目resources/的文件

    2023-12-07 18:04:03       38 阅读
  3. 下载工程resources目录的模板excel文件

    2023-12-07 18:04:03       9 阅读
  4. SpringBoot 打成jar后如何获取jarResouces文件

    2023-12-07 18:04:03       25 阅读

最近更新

  1. TCP协议是安全的吗?

    2023-12-07 18:04:03       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2023-12-07 18:04:03       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2023-12-07 18:04:03       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2023-12-07 18:04:03       20 阅读

热门阅读

  1. Conda常用指令---(频率很高)

    2023-12-07 18:04:03       41 阅读
  2. 无图谱不AI之三元组数据保存Neo4j

    2023-12-07 18:04:03       29 阅读
  3. git-5

    git-5

    2023-12-07 18:04:03      31 阅读
  4. 【Appium】解决搜索输入框无搜索按钮

    2023-12-07 18:04:03       34 阅读
  5. Node.js 的 https 模块介绍

    2023-12-07 18:04:03       27 阅读
  6. TDengine统计数据库占用空间

    2023-12-07 18:04:03       39 阅读
  7. PostgreSQL中常用的几种连接池总结及更新

    2023-12-07 18:04:03       34 阅读