maven资源过滤导致打包后文件变大

工作中遇到的问题,打包时有个tpl.pdf文件,通过里面内容可以解析tpl所在的地域信息,本地单元测试都是OK的,部署到测试环境后,发现解析tpl的时候报错。并且zk配置有问题!

最后发现:代码库的tpl.pdf文件大小只有166kb左右,而测试环境的tpl.pdf文件大小在255kb左右。

问题在于:为什么tpl.pdf通过maven打包后文件变大了?由于maven打包的时候,会将这个文件从src/main/resources/下面拷贝的tpls目录下。

也就是说maven打包的过程中,只是将src/main/resources/目录下的文件变大了。因为我们在pom中开启了资源过滤。

[html]  view plain  copy
  1. <resources>  
  2.     <resource>  
  3.         <directory>src/main/resources</directory>  
  4.         <filtering>true</filtering>  
  5.     </resource>  
  6. </resources>  
解决方案就很简单了:直接将tpl.pdf放到其他目录下不参与资源过滤就可以了。如果一定要将tpl.pdf放在resources目录下,那么可以通过下面配置解决。

[html]  view plain  copy
  1. <resources>  
  2.     <!--排除tpl.pdf,不打包到classpath下,自然就不会过滤-->  
  3.     <resource>  
  4.         <directory>src/main/resources/tpls</directory>  
  5.         <filtering>true</filtering>  
  6.         <excludes>  
  7.             <exclude>tpl.pdf</exclude>  
  8.         </excludes>  
  9.     </resource>  
  10.       
  11.     <!--将tpl.pdf打包到classpath下,但是不进行资源过滤-->  
  12.     <resource>  
  13.         <directory>src/main/resources/tpls</directory>  
  14.         <filtering>false</filtering>  
  15.         <includes>  
  16.             <include>tpl.pdf</include>  
  17.         </includes>  
  18.     </resource>  
  19. </resources>  

使用maven进行资源过滤的时候,只要过滤需要过滤的文件,一些二进制文件,比如https证书等,就不要参与资源过滤,否则打包后会破坏文件内容。
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值