文件导出的问题
290字小于1分钟
2024-12-19
问题描述
今天有一个需求,需要将java list数据导出为word文件,同时还要求基于一个word模板,将数据填充到word中。但是在将word模版放到resouce目录下,读取word模版文件时,总是报错。
java.io.IOException: Failed to read zip entry source Caused by: java.io.IOException: ZIP entry size is too large
原因分析
word文件实际上是一个压缩包,maven打包时,会将文件压缩,导致读取word模版文件时,报错。当然这个不是我本次遇到的问题,但是还是记录一下。这种情况,需要配置pom.xml文件,将word文件排除打包。
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
<excludes>
<exclude>**/*.docx</exclude>
</excludes>
</resource>
<resource>
<directory>src/main/resources</directory>
<filtering>false</filtering>
<includes>
<include>**/*.docx</include>
</includes>
</resource>我项目中遇到的问题是,word文件在编译打包后,没有放到classpath下,导致读取word模版文件时,报错。通过配置maven 打包插件,将word模版文件放到classpath下。
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>2.6</version>
<configuration>
<encoding>UTF-8</encoding>
<nonFilteredFileExtensions>
<nonFilteredFileExtension>docx</nonFilteredFileExtension>
</nonFilteredFileExtensions>
</configuration>
</plugin>