Maven系列 - 覆盖父级pom文件某jar包版本
一般公司都会有统一的父级pom文件,指定一些通用的jar版本,比如fastjson,假如出现漏洞(最近fastjson就出现了漏洞),需要升级fastjson包,具体有哪些方式呢
- 具体方式:
(1)公司统一升级父级pom文件的fastjson版本,对应应用升级父级pom文件版本
(2)对应应用不升级父级pom文件版本,仅指定升级fastjson版本
- 说明:
(1)首先,第一种方式最简单方便,但是有个实际的情况,除非公司把原先所有的父级pom版本都升级相应的fastjson包,否则的话,假如仅新增一个版本号,比如父级pom文件版本目前最高为1.4.16,升级到1.4.17(该父级pom文件版本对应fastjson版本为漏洞修复后的版本)其他低于1.4.16的,都需要升级到1.4.17,版本跨度低的还好,有些跨度很高,很容易出现问题
(2)所以,肯定有同学为了保险起见,采用第二种方案,不升级父级pom文件版本,仅指定升级fastjson版本
但是这种方案,对应简单的应用还好,复杂的应用,你甚至很难找到哪些子模块,间接依赖了fastjson,改了一个,发现还有,痛苦万分,就是升级一下jar包,硬是整了半天

当需要升级公司统一父级pom中存在漏洞的fastjson版本时,可以采取两种策略:一是统一升级父级pom的fastjson版本,二是仅在应用层面指定升级。前者可能涉及多个父级pom版本的升级,后者可能导致找寻所有依赖子模块的困难。解决方案是在应用pom文件中直接覆盖父级pom的fastjson版本配置。
最低0.47元/天 解锁文章
3433

被折叠的 条评论
为什么被折叠?



