maven资源过滤打包后文件变大的处理方法

 更新时间:2018年07月04日 09:45:52   作者:aitangyong  
maven目前在web上面的使用方式很普遍,而打包的方式也存在很多方式,下面这篇文章主要给大家介绍了关于maven资源过滤打包后文件变大的处理方法,文中通过示例代码介绍的非常详细,需要的朋友可以参考下

前言

今天遇到一个问题,我们有个ip.dat二进制文件,通过里面内容可以解析ip所在的地域信息,本地单元测试都是OK的,部署到测试环境后,发现解析ip的时候报错。拿测试环境打印出的IP地址,在本地单元测试也么有问题。最后发现:代码库的ip.dat文件大小只有3.5M左右,而测试环境的ip.dat文件大小在5M左右。

问题在于:为什么ip.dat通过maven打包后文件变大了?由于maven打包的时候,会将这个文件从src/main/resources/下面拷贝的conf目录下。我直接将ip.dat放在conf目录下,而不是resources目录下,发现打包后大小正常。

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

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

解决方案

解决方案就很简单了:直接将ip.dat放到conf目录下不参与资源过滤就可以了。如果一定要将ip.dat放在resources目录下,那么可以通过下面配置解决。

<resources>
 <!--排除ip.dat,不打包到classpath下,自然就不会过滤-->
 <resource>
 <directory>src/main/resources</directory>
 <filtering>true</filtering>
 <excludes>
 <exclude>ip.dat</exclude>
 </excludes>
 </resource>
 
 <!--将ip.dat打包到classpath下,但是不进行资源过滤-->
 <resource>
 <directory>src/main/resources</directory>
 <filtering>false</filtering>
 <includes>
 <include>ip.dat</include>
 </includes>
 </resource>
</resources>

使用maven进行资源过滤的时候,只要过滤需要过滤的文件,一些二进制文件,比如https证书等,就不要参与资源过滤,否则打包后会破坏文件内容。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对脚本之家的支持。

相关文章

  • 解析Java中PriorityQueue优先级队列结构的源码及用法

    解析Java中PriorityQueue优先级队列结构的源码及用法

    优先级队列是一种队列结构,是0个或多个元素的集合,每个元素都有一个优先权,PriorityQueue被内置于JDK中,本文就来解析Java中PriorityQueue优先级队列结构的源码及用法.
    2016-05-05
  • JAVA开发环境Vs code配置步骤详解

    JAVA开发环境Vs code配置步骤详解

    这篇文章主要为大家介绍了JAVA开发环境Vs code配置步骤详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-04-04
  • Java高效实现excel转pdf(支持带图片的转换)

    Java高效实现excel转pdf(支持带图片的转换)

    这篇文章主要为大家详细介绍了如何用java实现excel转pdf文件,并且支持excel单元格中带有图片的转换,文中的示例代码讲解详细,需要的可以参考下
    2024-01-01
  • 如何解决mybatis查询结果接收不同的问题

    如何解决mybatis查询结果接收不同的问题

    这篇文章主要介绍了如何解决mybatis查询结果接收不同的问题,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-09-09
  • 运行时常量池和字符串常量池的区别及说明

    运行时常量池和字符串常量池的区别及说明

    这篇文章主要介绍了运行时常量池和字符串常量池的区别及说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-12-12
  • java synchronized 锁机制原理详解

    java synchronized 锁机制原理详解

    synchronized关键字是JAVA中常用的同步功能,提供了简单易用的锁功能。这篇文章主要介绍了Java中synchronized关键字引出的多种锁问题,需要的朋友可以参考下
    2021-08-08
  • Java Web项目中实现文件下载功能的实例教程

    Java Web项目中实现文件下载功能的实例教程

    这篇文章主要介绍了Java Web项目中实现文件下载功能的实例教程,分别讲解了通过超链接实现下载以及通过Servlet程序实现下载的方式,需要的朋友可以参考下
    2016-05-05
  • Java模拟qq软件的详细过程

    Java模拟qq软件的详细过程

    这篇文章主要为大家详细介绍了用Java实现模拟QQ,实现了消息通信+登陆界面美化,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-09-09
  • 两种java实现二分查找的方式

    两种java实现二分查找的方式

    这篇文章主要给大家分享的是java实现二分查找的方式,二分查找是一种查询效率非常高的查找算法。又称折半查找。下面文章我们介绍了两种方法,需要的朋友可以参考一下
    2021-09-09
  • Java基于线程实现带有滚动效果的Label标签实例

    Java基于线程实现带有滚动效果的Label标签实例

    这篇文章主要介绍了Java基于线程实现带有滚动效果的Label标签,实例分析了java线程的使用技巧及label标签的实现方法,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-07-07

最新评论