问题解决 Caused by: java.util.zip.ZipException: Unexpected record signature: 0X9
·
问题描述
代码是读取 resources下的docx文件,然后报错了。
但是通过Path.get 直接加载文件绝对路径去访问的时候,却是正常的。
但是通过 SpringBoot 提供的加载文件API或运行时动态获取却报错了。
解决方法

<resource>
<directory>src/main/resources</directory>
<filtering>false</filtering>
<includes>
<include>**/*.docx</include>
</includes>
</resource>
原因
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
</resource>
项目的这个配置将 resources 下的全部文件先选到了,然后 filtering 标签 = true ,代表这些文件将经过 maven 的 一系列过滤操作,主要是将 类似 ${} 内容解析替换为 真实参数。所以我的docx末班文件本身包含了 ${},这样就改变了源文件,所以报错了。
所以先把这个docx文件排除了,然后再下面单独加这个配置,指定 filter = false,不走过滤,但还是要指定哦,因为resource指定的文件才会打包到jar里
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)