maven编译过滤(如excel)

news/2024/10/21 21:47:41/

现象

使用easyExcel 3.1.1操作excel

使用maven编译后,原先正常excel在读取的时候抛出了异常。

java.util.zip.ZipException: invalid stored block lengths

一开始是怀疑excel里面内容格式不对,打开excel检查后发现格式都是正常的。

然后开始看源码
debugcom.alibaba.excel.util.WorkBookUtil#createWorkBook时想到打开一个普通的excel文件为啥要zip解压,是不是被压缩了。

随机在打包后的target文件夹下去打开excel,果然也是打不开了。
之后查阅资料,确认是maven打包的时候损坏了文件。

那么问题就变成了excel文件不通过maven编译,直接打包进target

解决方案

关键就在于resource标签的处理,2个resource标签都需要加上

<build><resources><resource><directory>src/main/resources</directory><filtering>true</filtering><excludes><exclude>template/*.xlsx</exclude></excludes></resource><resource><directory>src/main/resources</directory><filtering>false</filtering><includes><include>template/*.xlsx</include></includes></resource></resources><finalName>${project.artifactId}</finalName><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><version>${spring-boot.version}</version><executions><execution><goals><goal>repackage</goal></goals></execution></executions></plugin></plugins>
</build>

原因

mavenpom文件中有时候会定义一些变量
通常都是定义在profiles标签下,然后我们在resource下一些xml文件或者yml文件中可以引用这些变量,常见的就是用来切换dev环境和pro环境

捞个网上的demo

xml中直接引用${config} yml中引用@config@

<profiles><profile><id>dev</id><activation><activeByDefault>true</activeByDefault></activation><properties><config>pathConfig</config></properties></profile>
</profiles>

http://www.ppmy.cn/news/499607.html

相关文章

前端JavaScript中的动态事件添加

&#x1f482; 个人网站:【海拥】【游戏大全】【神级源码资源网】&#x1f91f; 前端学习课程&#xff1a;&#x1f449;【28个案例趣学前端】【400个JS面试题】&#x1f485; 寻找学习交流、摸鱼划水的小伙伴&#xff0c;请点击【摸鱼学习交流群】 目录 前言事件的基本概念动态…

java编写金字塔

一、实心金字塔 首先&#xff0c;尝试写一个逐层加1个*的金字塔&#xff1a; 可以看出&#xff0c;每一层由空格和*组成&#xff0c;且空格*的总数为底部基石的数量&#xff0c;那么前后空格数就是&#xff08;底部基石数 - 各层星星数&#xff09;*1/2&#xff0c;然后拼接字…

乐创文娱:正与法院协商撤销“失信被执行人”事宜

【TechWeb】2月18日消息&#xff0c;针对乐视影业被列为“失信被执行人”一事&#xff0c;乐创文娱今日在官方微博回应称&#xff0c;此事主要因乐视影业对仲裁结果存在异议&#xff0c;沟通过程中存在信息不畅的情况&#xff0c;目前正与法院协商撤销事宜。 2月15日&#xff0…

设置表格table斑马格颜色

even odd偶数行和奇数行 分开设置 .tabledata tbody tr:nth-child(even) {background-color: #073767;}.tabledata tbody tr:nth-child(odd) {background-color: #062b57;}表头颜色 .tabledata thead th {background-color: #0B4876; } .tabledata自己表格类名

乐创文娱面试

面试岗位&#xff1a;数据实习生 面试时间&#xff1a;19年5月22日 面试地点&#xff1a;乐创文娱公司 面试过程&#xff1a;一共有两面&#xff0c;第一面是hr面&#xff0c;主要问了一些基本情况&#xff0c;比如实习时间&#xff0c;入职时间。还问了策划活动方面的一些东西…

乐创 2022-6-1 机试题

1、快乐数 数字 的各个位 的平方 一直累加到为个位&#xff0c;且结果是1就是快乐数&#xff08;简单题&#xff0c;AC&#xff09; class Solution1 {/*** 代码中的类名、方法名、参数名已经指定&#xff0c;请勿修改&#xff0c;直接返回方法规定的值即可* param n int整型…

EtherCAT运动控制器的PLC编程(三) 电子齿轮

EtherCAT运动控制器的PLC编程(三) 电子齿轮 电子齿轮模式能够将两轴或多轴联系起来&#xff0c;实现精确的同步运动&#xff0c;从而替代传统的机械齿轮连接。 被跟随的轴称为主轴&#xff0c;跟随的轴为从轴&#xff0c;通过将跟随轴按照某个比率连接到主轴上&#xff0c;从而…

【朝夕教育】2023年03月 其他-运动控制和机器视觉面试题(34道)

文章目录 一、运动控制和机器视觉1、什么是运动控制2、运动控制卡和运动控制器有区别吗&#xff1f;3、运动控制系统的主要组成部分有哪些&#xff1f;4、运动控制系统包含那些分类&#xff1f;5、运动控制器应用的领域有哪些&#xff1f;6、步进电机与伺服电机有哪些区别&…