关于maven-resources-plugin配置的隐藏的坑
昨天发现一个问题, 一个第三方证书的文件存放于resources文件夹下,在本地环境使用该证书进行加密调用第三方接口,没有任何问题,但是发布到测试环境和生产环境(linux)报错,提示证书工厂无法初始化。
看正式环境和本地唯一的代码区别是证书的路径不一样, 本地是windows操作系统,证书变量设值为:
plat.cert.path=E:\\LOJI-GIT\\eunke-web\\eunke-web-war\\src\\main\\resources\\ump\\cert_2d59.crt
正式环境设值为:
plat.cert.path=/data/work/cert/ump/cert_2d59.crt
经正式环境查看,该证书确实已经在对应的目录下存在, 百思不得姐, 于是通过打logger日志,发现了一个错误:
Could not parse certificate: java.io.IOException: Invalid BER/DER data (too huge?)
证书文件太大?特地比较了下本地的证书, 大小为 824B

但是部署到正式环境后, 大小却变为了 1156B

体积发生了变化, 经过百度, 发现是maven-resources-plugin在maven打包过程中作怪。
maven-resources-plugin可以在资源文件中使用诸如${propertyName}形式的Maven属性,然后配置maven-resources-plugin开启对资源文件的过滤,之后就可以针对不同环境通过命令行或者Profile传入属性的值,以实现更为灵活的构建。
然而我们的证书文件并不需要替换这些${}值, 故不需要该插件进行过滤处理, 配置增加一条,如下:

重新jenkins部署生产, 再看文件, 大小和windows保持一样, 再测试接口, 成功!
关于maven-resources-plugin配置的隐藏的坑的更多相关文章
- 【maven】之配置开发,测试,正式环境pom.xml文件
在进行web程序开发,如果项目组没有使用自动化发布工具(jenkins + maven + svn + tomcat ),我们一般会使用maven的热部署来完成发布,在部署的过程中我们开发,测试,生产 ...
- Maven安装与配置
下载: 1.从官网http://maven.apache.org中下载,下载下来的是一个压缩包,解压即可.因为Maven本身也是用Java实现的.2.Maven的目录结构 /bin; maven的 ...
- maven常用插件配置详解
常用插件配置详解Java代码 <!-- 全局属性配置 --> <properties> <project.build.name>tools</proje ...
- Maven为项目配置仓库
Maven为项目配置仓库 参考 https://mp.weixin.qq.com/s?__biz=MzA5MTkxMDQ4MQ==&mid=2648933541&idx=1&s ...
- maven 项目打包配置(build节点)
参考博客:https://www.cnblogs.com/Binhua-Liu/p/5604841.html maven-assembly-plugin的使用 : https://www.cnblog ...
- springboot项目中使用maven resources
maven resource 组件可以把pom的变量替换到相关的resouces目录中的资源文件变量 示例项目:内容中心 (文章管理) 生成jar包,生成docker ,生成k8s文件 1.项目结构 ...
- Maven使用和配置
Maven使用和配置 一.maven安装和概念 maven安装 maven编译(compile) 执行测试用例(test) maven打包(package) maven依赖管理 1.maven安装 官 ...
- 学习Maven之Maven Enforcer Plugin
1.Maven Enforcer plugin是什么鬼? 在说这个插件是什么前我们先思考这么一个问题:当我们开发人员进入项目组进行开发前,要准备开发环境,而领导总是会强调工具的统一,编译环境的统一.比 ...
- Intellij修改archetype Plugin配置
Maven archetype plugin为我们提供了方便的创建 project功能,Archtype指我们项目的骨架,作为项目的脚手架. 如fornt end的yo之类.我们能够通过简单的一行控制 ...
随机推荐
- Shell脚本编程(三):shell参数传递
我们可以在执行 Shell 脚本时,向脚本传递参数,脚本内获取参数的格式为:$n.n 代表一个数字,1 为执行脚本的第一个参数,2 为执行脚本的第二个参数,以此类推…… 实例 以下实例我们向脚本传递三 ...
- Go使用详解
1.什么是Go keep it simple stupid的编程语言 2.安装 以Ubuntu为例 # 下载安装包 wget https://storage.googleapis.com/golang ...
- SQL Server 2016新特性:列存储索引新特性
SQL Server 2016新特性:列存储索引新特性 行存储表可以有一个可更新的列存储索引,之前非聚集的列存储索引是只读的. 非聚集的列存储索引支持筛选条件. 在内存优化表中可以有一个列存储索引,可 ...
- 资源查找器PathMatchingResourcePatternResolver的使用
资源查找器PathMatchingResourcePatternResolver的使用 PathMatchingResourcePatternResolver是一个Ant通配符模式的Resource查 ...
- Oracle中查看所有表和字段
获取表字段: select * from user_tab_columns where Table_Name='用户表' order by column_name 获取表注释: select * fr ...
- 和TransDecoder 学习perl 自定义模块的路径问题
TransDecoder 软件是用perl 原因写的,其中包含了一些自定义的模块,通过一个脚本来进行调用,为了能够正常访问自定义的perl 模块, 在其源代码中利用了FindBin 这个模块 use ...
- C# 获取对象 大小 Marshal.SizeOf (sizeof 只能在不安全的上下文中使用)
C# 能否获取一个对象所占内存的大小? 今日,在项目重构的时候忽然想到一个问题,一个类哪些成员的增加,会影响一个类所占内存的大小?C#有没有办法知道一个对象占多少内存呢? 第一个问题:很快想到是类的非 ...
- jsp 连接access数据库
参考笔记:https://www.cnblogs.com/mthoutai/p/7278995.html
- github 搜索
1.明确搜索仓库标题.仓库描述.README GitHub 提供了便捷的搜索方式,可以限定只搜索仓库的标题.或者描述.README等. 以Spring Cloud 为例,一般一个仓库,大概是这样的 其 ...
- 24小时学通Linux内核总结篇(kconfig和Makefile & 讲不出再见)
非常开心能够和大家一起分享这些,让我受益匪浅,感激之情也溢于言表,,code monkey的话少,没办法煽情了,,,,,,,冬天的风,吹得伤怀,倒叙往事,褪成空白~学校的人越来越少了,就像那年我们小年 ...