jar class 文件替换最好使用jar 自带的命令行工具
最近在进行一个系统fix的时候,按照最简单的方法就是自己unzip jar 文件,之后通过编译代码,然后替换class文件,之后通过jar cvf 进行重新压缩,但是每次替换都会提示spring bean 存在多个,原始的就没有问题,经过一些尝试发现是此方法不太好,部分系统的加载的jar 会有差异影响(详细jar 对比没做,主要是里边的class 太多了),结果测试比较靠谱的解决方法还是使用官方自带命令的jar uf
参考命令
- 命令
jar uf jar-file input-file(s)
简单说明: jar-file 是原始文件,input-file(s) 是我们需要替换的class 文件,同时注意需要保持与原有一样的目录结构,但是如果是基于mvn 构建的项目那就没问题了,直接target 的classes 就行了
说明
当然基于win rar 工具的也是一种方法,但是似乎不太可靠,官方工具相对可靠,同时win rar 不利于ci/cd 以及自动化
参考资料
https://docs.oracle.com/javase/tutorial/deployment/jar/update.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
2023-04-10 arroyo 基于rust开发的流处理引擎
2022-04-10 node canvas 服务器端canvas 进行图片组合
2022-04-10 coolify 使用到的几个nodejs 包
2022-04-10 coolify 项目代码结构
2022-04-10 coolify haproxy 集成简单说明
2021-04-10 k6 常见测试模式说明
2021-04-10 k6 使用参考