关于maven-resources-plugin配置的隐藏的坑 - Go语言中文社区

关于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保持一样, 再测试接口, 成功!

 

转载于:https://www.cnblogs.com/mhl1003/p/9413096.html

版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/weixin_30256505/article/details/99831287
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2021-06-12 20:44:29
  • 阅读 ( 1065 )
  • 分类:Go Web框架

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢