java编译(打包)完成,导致Excel文件损坏的问题

问题描述

在项目中放置一个可供用户登录后下载的excel模版,项目在打包成功后,在target中直接打开excel,发现excel已经损坏。

问题原因

项目在编译或者打包过程中,会对excel进行编译,这样经过文件filter过滤一遍之后,excel文件就损坏了,具体原因还不清楚,还需要各位大佬具体分析一下。可以利用Maven resource配制中include与exclude的关系来解决这次问题。

问题未解决时的配置

<resource>
	<directory>src/main/resources</directory>
	<filtering>true</filtering>
</resource>

解决后的配置

与是用来圈定和排除某一文件目录下的文件是否是工程资源的。如果与划定的范围存在冲突时,以划定的范围为准。大多数情况下,我们使用和是为了配合实现过滤特定文件的需要。
例如,在一个工程中,src/main/resources目录下都是工程的资源文件,并不需要和再进行划定。但如果我们需要对其中的某一个或这两个文件进行过滤的话,则需要借助和进行配置

<resource>
	<directory>src/main/resources</directory>
	<excludes>
		<exclude>**/*.xlsx</exclude>
	</excludes>
	<filtering>true</filtering>
</resource>
<resource>
    <directory>src/main/resources</directory>
    <includes>
        <include>**/*.xlsx</include>
    </includes>
    <filtering>false</filtering>
</resource>

其中第一段配置声明:在src/main/resources目录下,后缀是.xlsx的文件不是资源文件,其它的资源文件需要被过滤。而第二段配置声明:同样在src/main/resources目录下,后缀是.xlsx的文件是资源文件,但是不会被过滤。

配置完成后,如果重新编辑(打包)没有效果,需要maven claen 或者删除target文件重新编译一遍就可以啦。

在遇到这个问题的时候参考了 浪子艳少(https://blog.csdn.net/win7system/article/details/55519444) 的观点,非常感谢。

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值