SpringBoot Resources目录下word, excel文件损坏异常

一、错误原因

org.apache.poi.openxml4j.exceptions.NotOfficeXmlFileException: No valid entries or document

二、排查问题

  • SpringBoot resources 下新增word,excel模板文件用于下载
  • build编译后target文件下对应word,excel显示文件已损坏
  • SpringBoot会对resources下文件进行压缩,导致word,excel格式异常

三、解决问题

 <plugin>
     <groupId>org.apache.maven.plugins</groupId>
     <artifactId>maven-compiler-plugin</artifactId>
     <version>3.8.1</version>
     <configuration>
         <source>1.8</source>
         <target>1.8</target>
         <encoding>UTF-8</encoding>
     </configuration>
 </plugin>
 <plugin>
     <groupId>org.apache.maven.plugins</groupId>
     <artifactId>maven-resources-plugin</artifactId>
     <configuration>
         <nonFilteredFileExtensions>
             <nonFilteredFileExtension>xlsx</nonFilteredFileExtension>
             <nonFilteredFileExtension>docx</nonFilteredFileExtension>
         </nonFilteredFileExtensions>
     </configuration>
 </plugin>

通过使用maven-resources-plugin下的标签nonFilteredFileExtensions,让xlsx和word文件不再被压缩编译,避免office文件格式异常。

更多推荐