背景
在之前的log4j,fastjson等问题漏洞排查过程中,需要对每一个项目的依赖进行排查,如何知道并确定jar包的依赖顺序并快速排查,解决问题后又如何在服务器上进行验证。
解决方案
1.本地对项目maven依赖进行排查
方案一:maven tree命令
#打印依赖树
mvn dependency:tree
#将依赖树打印到文件中
mvn dependency:tree > a.txt
#打印包含某些包的依赖树
mvn dependency:tree -Dincludes=com.alibaba:fastjson
如下图得到对应的依赖树
方案二:maven helper工具
结合idea安装对应插件。在plugins——》Marketplace 中搜索安装Maven Helper插件
使用方式
安装完成之后点击对应的pom.xml就会看到有多出一个Dependency Analyzer的选项,点击就能看到对应的maven依赖的关系图,可以通过filter搜索自己想要查找的依赖
然后右侧会展示对应的依赖在哪些位置被引入。可以选中对应依赖直接将其Exclude排除
2.服务器验证jar包版本
方案一:使用vim编辑查找
#进入vim编辑器
vim jar包名称
#命令行时候?或者/进行搜索(按N表示下一个)
方案二:使用jar tf命令配合ctrl+f搜索
jar tf jar包名称