Java 命令方式添加,替换jar包中class文件
前言
在Java实际开发工作中,有时会只修改jar包中的某一个或者某几个类;或者新增一个或者几个类。除了重新打jar外,Java 提供命令的方式,可以将类的class文件添加进jar包。
操作步骤:
- 将本地要进行替换的java类,编译成.class文件;一般情况下执行mvn package 命令,就会生成新的class文件; 也可以执行命令 javac test.java ,得到test.class。
- 将服务器中的xxx.jar包下载下来,放在单独文件夹下,查看要替换的test.class文件在xxx.jar包中所在的目录, 例如在如下目录:com\cnblogs\demo。
- 在jar包所在的文件夹的地址栏里输入cmd,进入命令窗口后,建立文件目录:md com\cnblogs\demo。
- 将第一步编译好的test.class文件放入 com\cnblogs\demo 目录下。
- 通过执行命令 jar uvf 将test.class插入到xxx.jar中:
## 只替换一个文件:
jar uvf xxx.jar com\cnblogs\demo\test.class
## 替换文件夹中多个文件:
jar uvf xxx.jar com\cnblogs\demo
- 最后可以将生成好的xxx.jar 替换原来的jar包。操作按实际场景:
手把手
- 需要打补丁
Test.class
文件 - 在jar包中找到该class在jar中的位置:
./BOOT-INF/classes/com/test//service/impl
- 在jar包的位置创建该文件夹:
mkdir -p BOOT-INF/classes/com/cctegitc/warehouse/service/impl
- 移动补丁文件到该报下:
mv ./Test.class ./BOOT-INF/classes/com/test/service/impl
- 打包:
jar uvf test-0.0.1-SNAPSHOT.jar ./BOOT-INF/classes/com/test/service/impl
写到最后
程序员的寒冬将至,内卷震耳发聩。接下来你会怎么选择?你在风口狂飞了近十年,习惯了高薪,吃不了其他行业的苦,我们该何去何从!