正在打开每日关注
正在打开每日关注
视频演示以依赖插件解压 jar,并保留本地同包同名类来替换 class 文件。
PR II 症 二 = MI aa63 Q 是 二 E 优雅 的 替换 第 三 方 jar 包 中 的 类 , 需求 背景 : 项 目 中 依赖 第 三 方 jar 包 ; 需要 对 其 扩展 或 修复 未 知 的 Bug; 但 是 呢 ? _ 第 三 方 类 库 中 没有 提供 扩展 点 ;无 法 使 用 继承 等 方法 对 其 改造 ; 这 种 情况 怎么 办 ? 通常 做 法 : 1: 将 jar 包 下 载 下 来 , 重 新 修改 , 发 布 在 私有 仓库 中 ; 2: 直接 将 需要 的 代码 全 部 复制 到 当前 项 目 中 ,
视频讨论第三方 jar 缺少扩展点、又需扩展或修复问题时,如何以本地同包同名类覆盖 jar 内 class 文件。讲述者将其定位为替代“下载 jar 修改后发布私有仓库”或“复制代码到当前项目”的做法。
其声称只需在 POM 引入一个依赖插件;插件会解压 jar,并在当前项目已有同包同名文件时“不进行覆盖”,从而使本地 class 参与最终产物。演示以 JSON 输出前增加三段打印为验证。
这是一种针对无法继承、无法插桩的定点补丁思路,能缩小改动面。但它依赖构建与打包顺序,且复制第三方源码会绑定其内部实现;升级依赖后可能产生二进制或行为不兼容。应保留来源版本、补丁差异与回归测试,并优先评估官方扩展点、上游修复或更稳定的替代方案。视频未提供完整 POM、插件坐标或可复现实验,效果仍需人工验证。