背景:之前公司的jar包管理不够规范,dubbo调用,很多依赖的jar都是快照版,如果别人修改了同样的同样快照版并deploy到maven仓库,会覆盖之前的快照版本,有一定的代码安全隐患,并确实出现过一定的安全事故。
公司做了代码的安全红线扫描,如果项目中有依赖快照版本,不允许上线
开始的处理办法:向各个项目负责人询问对应的jar的release版本,并对比之前的快照版进行升级,但是这样代码也会有变动,风险稍微可控。但是也有很多祖传的jar,已经很多年没人维护了,根本找不到负责人,也没有对应的release包,更无法升级。
最后的解决办法:将目前依赖的快照版jar以及pom从maven仓库down下来,将版本号修改为对应的release版本,并deploy到maven仓库。这样代码就不会有任何变动,完美解决问题。
相关maven命令:mvn deploy:deploy-file -Dfile="xxxjar" -DpomFile="xxx.pom" -Durl="http://ip:端口/nexus/content/repositories/releases" -DrepositoryId=releases