Java【付诸实践 04】Jar包class文件反编译、修改、重新编译打包方法(含反编译工具jd-gui-windows-1.6.6.zip百度云资源)

简介: Java【付诸实践 04】Jar包class文件反编译、修改、重新编译打包方法(含反编译工具jd-gui-windows-1.6.6.zip百度云资源)

替换已打包文件内的配置文件在部署项目的时候是比较常见的,有时也会遇到需要修改类文件的情况,可以修改源码进行重新打包,在条件不允许或修改很少的情况下,进行class文件替换也是可行的。

  • 我们需要使用反编译工具 jd-gui-windows ,附上百度云资源。
链接:https://pan.baidu.com/s/1RX2raPDfrtPMW4NS-QlATA 
提取码:idg5

1.反编译文件并修改

以spring-core-5.3.1.jar为例,File->Save 即可将其保存为.java文件,此时可进行修改。

2.重新编译修改过的.java文件

使用编译工具 javac 对修改过的.java文件进行编译。

javac -classpath spring-core-5.3.1.jar BeanCopier.java

3.替换编译后的文件

使用压缩工具打开jar包(不是解压jar包),用编译后的.class文件归拽覆盖修改之前的.class文件即可。

需要注意的是:

  1. jd打开的文件可能跟源码不同,所以导出的源码也可能存在错误,如果替换不成功就只能进行重新打包了。
  2. 另外如果同时修改了几个文件,并且几个文件之间存在依赖关系,例如A.java 调用了B.java中的函数,如果修改了B.java中该函数的参数,则需先编译B.java并按上面的方法重新打成jar包,然后用这个新的jar作为-classpath编译A.java,否则会提示方法不对,所以替换class文件的场景以修改参数值或微小调整为主,复杂修改还是修改源码重新打包的好。
目录
相关文章
|
1月前
夸克网盘的文件怎么保存到百度网盘?
夸克网盘的文件怎么保存到百度网盘?
318 2
夸克网盘的文件怎么保存到百度网盘?
|
3月前
|
Shell
百度搜索:蓝易云【Ros终端出现找不到bash: /home/***/devel/setup.bash: 没有那个文件或目录怎么办?】
通过以上步骤,您应该能够解决 "找不到bash: /home/ *** /devel/setup.bash: 没有那个文件或目录" 错误,并正常使用ROS环境。如果问题仍然持续存在,建议您检查您的ROS安装和配置,并参考ROS官方文档或ROS社区寻求帮助。
93 0
|
3月前
|
存储 Cloud Native Docker
百度搜索:蓝易云【云原生之使用Docker部署Notepad个人任务管理工具】
这样,你就成功地使用Docker部署了Notepad个人任务管理工具。通过Docker部署Notepad可以使应用的安装和配置更加便捷,并且可以隔离应用环境,避免影响到宿主机的系统。希望以上教程对你有所帮助!如果你有其他问题,请随时继续提问。
56 0
|
3月前
|
Linux
百度搜索:蓝易云【Linux中如何检查或删除文本文件重复出现的行列?】
如果文件特别大,可以考虑使用 `sort -u`命令,它可以直接删除重复行并排序,但是对于大文件可能会消耗较多内存。例如:`sort -u file.txt > file_without_duplicates.txt`。
47 0
|
3月前
|
Ubuntu Shell 数据安全/隐私保护
百度搜索:蓝易云【Ubuntu密码忘记怎么办 Ubuntu重置root密码方法】
完成上述步骤后,Ubuntu系统的root密码应该已经被成功重置为你设置的新密码。请确保在重置密码后牢记新密码。
51 0
|
25天前
|
Java
java中jar启动设置内存大小java -jar 设置堆栈内存大小
java中jar启动设置内存大小java -jar 设置堆栈内存大小
12 1
|
1月前
|
存储 JSON JavaScript
vue整合kitymind百度脑图-引用打包文件方案
vue整合kitymind百度脑图-引用打包文件方案
27 0
|
1月前
|
Oracle Java 关系型数据库
【问题】Cause: java.sql.SQLException: 不支持的字符集 (在类路径中添加 orai18n.jar): ZHS16GBK
【问题】Cause: java.sql.SQLException: 不支持的字符集 (在类路径中添加 orai18n.jar): ZHS16GBK
|
1月前
|
Java 应用服务中间件
解决tomcat启动报错:无法在web.xml或使用此应用程序部署的jar文件中解析绝对的url [http:java.sun.com/jsp/jstl/core]
解决tomcat启动报错:无法在web.xml或使用此应用程序部署的jar文件中解析绝对的url [http:java.sun.com/jsp/jstl/core]
133 1
|
3月前
|
JavaScript 小程序 Java
基于Java的大学生平时成绩量化管理系统设计与实现(亮点:点赞评论、上传下载视频资源、多用户论坛交流)
基于Java的大学生平时成绩量化管理系统设计与实现(亮点:点赞评论、上传下载视频资源、多用户论坛交流)
50 0