码迷,mamicode.com
首页 > 其他好文 > 详细

关于maven-resources-plugin配置的隐藏的坑

时间:2018-08-03 14:40:52      阅读:1181      评论:0      收藏:0      [点我收藏+]

标签:没有   图片   resources   cert   bubuko   rop   profile   exception   ica   

昨天发现一个问题, 一个第三方证书的文件存放于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配置的隐藏的坑

标签:没有   图片   resources   cert   bubuko   rop   profile   exception   ica   

原文地址:https://www.cnblogs.com/mhl1003/p/9413096.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!