为了快速修改部分小bug,避免花费很多时间在IDEA中在重新打包的流程上,提升工作效率。
使用 jd-gui-utf8.exe 可以避免中文乱码
例如:修改core模块下的AccountController.java 文件
根据以下截图找到相对应的位置
这时,我们可以了解到整个web.jar(单个应用)文件的结构,里面还包含的其他jar包,我们需要替换的是其他jar包中的class文件
这时,我们已修改好需要修改的java文件,接下来,进行替换。
我们先将web.jar 放到桌面上。
# 切换到桌面的web文件夹下
cd desktop/web
#执行 解压的命令
jar -xvf C:\Users\Administrator\web.jar
例如:将core模块下的AccountController.java 编译成AccountController.class
使用javac 编译时,需要导入该类中的用到的所有依赖,我们将classpath 指引到所修改jar包在的路径下
-Djava.ext.dirs=C:\Users\Administrator\Desktop\web\BOOT-INF\lib\
因为java文件中存在中文,我们需要 设置 utf-8的编码
-encoding utf-8
最终,执行以下命令,就可以生成对应的class文件
javac -Djava.ext.dirs=C:\Users\Administrator\Desktop\web\BOOT-INF\lib\ -encoding utf-8 AccountController.java
注意:上述命令需在 AccountController.java所在的路径下执行,执行完后,会在同路径下生成对应的class文件 。
这时,core.jar 中的AccountController.class 文件已替换。 其他文件,例如.html、.yml格式的文件,可直接替换,就正常生效。
接下来,是重新生成新的web.jar 包。
# 切换到桌面的web文件夹下
cd desktop/web
# 执行 压缩命令 . 代表当前所有文件,而且速度特别快
jar -cfM0 web.jar .
# 测试是否可以正常启动,运行
java -jar web.jar
至此,我们就完成了快速替换jar包中.class、.html、.yml格式的文件
下载工具
address:https://pan.baidu.com/s/1Z1dM6Te0yAZHkl3E3Nx32A
passwd:fzjs