网站模板开发主要作用,网站建设有哪些优质公众号,无线播放电视的浏览器,绍兴专业网站建设公司业务场景#xff1a;当前我们项目引入了公司自研的一些公共框架组件#xff0c;比如SSO单点登录jar包#xff0c;文件上传服务jar包等公共组件#xff0c;开发新功能#xff0c;本地验证好之后#xff0c;部署流水线#xff0c;报出一些jar包版本的整改漏洞问题#xf… 业务场景当前我们项目引入了公司自研的一些公共框架组件比如SSO单点登录jar包文件上传服务jar包等公共组件开发新功能本地验证好之后部署流水线报出一些jar包版本的整改漏洞问题无法跑通流水线 通过流水线平台显示有漏洞的依赖包逐一排查这里存在有两种包类型一种就是我们自己项目直接依赖的包版本问题这些占少部分直接修改pom文件的依赖版本号根据内部平台查询该依赖包有哪些其他可行的版本号兼容的就直接修改即可主要问题还是在于我们引入了多个公司自研的框架jar包而这些jar包又引入了一些相关的jar包这些包的版本存在漏洞问题需要去升级这些包的依赖版本那推动这些自研包团队去修改升级包我们再去直接修改这个自研包版本效果不好他们团队需要花时间修复代码那最后我们就利用 dependencyManagement 锁定依赖库的版本号
!-- 漏洞修复--dependencyManagementdependenciesdependencygroupIdcom.common.log/groupIdartifactIdlog-class/artifactIdversion1.2.12/version/dependencydependencies/dependencyManagement
因为那些是间接依赖的包我们无法直接像我们直接依赖的包 能直接去修改版本号所以需要通过这个dependencyManagement 依赖管理标签去强制锁定我们这个module模块中代码引用到的这些api接口功能时才会去强制锁定使用这个指定的版本而不会再去用引入框架jar包内的间接引用的版本了可以说这也是一个 最短路径依赖原则因为业务代码就是在该module工程下的再加上是在这个模块的pom文件下定义的这个依赖管理指定版本号
直接依赖包的标签路径是外层没有dependencyManagement dependenciesdependencygroupIdcom.xx/groupIdartifactIdxx/artifactIdversion3.15.0/version/dependency/dependencies 这里还有遇到一个问题就是jar包版本升级之后会导致以前写的一些代码会报错这里主要原因还是因为高版本的jar包针对某些api接口方法的形参做了一些调整增加了一些固定的形参属性需要传递参数这里只能是手动去改写代码兼容高版本甚至可能有些导入导出的接口功能跨版本过大导致旧api接口都发生大改动比如接口包名类名接口名路径等等