Java为什么会出现NotOLE2FileException:无效的标头签名错误?
在创建“如何使用ApachePOI替换MicrosoftWord文档中的文本”的代码段时?运行代码段时出现以下错误。作为附加信息,Nhooo网站的代码片段被编写为Maven项目。
org.apache.poi.poifs.filesystem.NotOLE2FileException:标头签名无效;读取0xE011BDBFEFBDBFEF,预期为0xE11AB1A1E011CFD0–您的文件似乎不是有效的OLE2文档
当代码尝试打开Word文档时,会产生此错误消息。ApachePOI报告Word文档具有无效的标头签名,而不是有效的OLE2文档。将原始文档与maventarget目录下的文档进行比较,我发现文件大小有所不同。这可能意味着某些内容会更改文档并破坏标题。
经过一番谷歌搜索后,我发现这个错误是由于Maven资源过滤引起的。Maven资源筛选过程导致Word文档标题在复制阶段损坏。解决此问题的方法是确保将过滤过程设置为false。在pom.xmlMaven项目应该被改变,以具有以下配置。
<build>
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>false</filtering>
</resource>
</resources>
</build>
热门推荐
10 儿子立冬祝福语简短独特
11 对当兵的祝福语简短
12 侄儿高考试祝福语简短
13 伴郎红包祝福语朋友简短
14 媳妇生日简短祝福语朋友
15 公司年会祝福语简短最好
16 元旦感恩祝福语简短大全
17 红包祝福语简短10字
18 周六早晨祝福语简短