当前位置: 首页 > 知识库问答 >
问题:

无法解析为绝对文件路径,因为它不位于文件系统中

苏涛
2023-03-14

我的代码:

XWPFDocument doc = new XWPFDocument(OPCPackage.open(ResourceUtils.getFile("classpath:assets/OPTIONS_" + jubilar1.getJubiLanguage().toUpperCase() + ".docx")));

我已经试过了,而不是。getFile(),extractJarFileFromURL或资源。getInputStream(),但所有这些都不起作用。当我打包项目并将其作为jar文件运行时,它试图打开以下文件,它总是返回以下消息

错误:

java.io.FileNotFoundException:类路径资源[资产/OPTIONS_DE. docx]无法解析为绝对文件路径,因为它不驻留在文件系统中:jar: file:/home/tkf6y/IdeaProjects/hrapps/backend/Target/backend-3.0.0.jar! /BOOT-INF/classes! /assets/OPTIONS_EN.docx

共有1个答案

蓬宾白
2023-03-14

是的,这就是问题所在,因为您现在使用的是我建议的InputStream。问题是(而且一直是)getFile的东西。我建议不要使用现在的资源,而是使用一个新的ClassPathResource(您的位置)。getInputStream())更简单,甚至可以使用ResourceLoader(可以注入的Spring接口),然后使用之前的路径再次使用getInputStream()

 类似资料:
  • Spring Boot文件读取错误无法解析为绝对文件路径,因为它不位于文件系统:jar:file: 要求1.Spring Boot项目jar文件2.文件读取3.文件上传

  • 在将Spring Boot版本1.5.7.RELEASE导出到可运行的JAR后,出现了以下错误。出于安全原因,我不使用maven,并且我在构建路径中添加了所有JAR。 我服从命令 然后我收到了屏幕截图中显示的错误

  • 问题内容: 有一个maven项目A。执行mvn全新安装后,将构建项目,并且该jar在我的本地存储库中可用,即 A.jar包含几个类和这些类使用的xml文件 从另一个Maven项目中,我正在调用使用一个XML文件的类中的一种方法。 代码是: 第二个项目位于我的D盘中。在获得绝对路径时,我得到的是\ com \ stackoverflow \ A \ res \ p.xml,这是正确的绝对路径。 但是

  • 问题内容: 我一直在尝试获取本地文件的正确路径。我有以下目录: 我在执行从与JS代码: 但这是行不通的,甚至警报也没有开始。怎么了? 我也尝试过这个: 在这种情况下,警报未定义。 问题答案: 由于它位于目录中,因此您需要执行以下操作: 文件路径是 纯JS:

  • 我不明白Liquibase到底有什么问题,因为路径指定正确 应用yml文件: 编辑1项目结构 使用编译的类编辑2个文件夹

  • 我有一个Spring批处理过程,可以编写一个。txt文件。它工作得很好,除了一件事。当它在调度器(zena)上运行时,输出文件会被写入错误的位置,因为我将路径设置为相对路径。以下是我如何在FlatFileItemWriter中指定输出文件的位置: 当我在没有调度程序的情况下运行时,文件会写入正确的目录: 但当我在调度程序上运行时,文件会被写入: 我尝试使用classPathResource: 但是