java - 从 jar 文件更改类的代码

标签 java jar

如何从 jar 文件中读取(加载)java 类,向类中添加一些代码,然后放回 jar 中? 我需要编写一个脚本(一个 Java 代码)来完成所有这些事情。我想到的步骤是: 1.读取jar,使用java.util.jar包中的方法获取类名入口 2.加载这个类,从类中获取数组,改变它 3.也许编译代码以应用更改 4.将更新后的class放入jar文件

我不知道如何在 Java 中执行第 2 步和第 3 步。

我正在考虑编写新的 java 类来扩展此类并更改数组,但此数组被声明为 public static final,这就是我无法更改它的原因。或者我错了,有一种方法可以通过扩展类来更改数组?

最佳答案

jar 只是一个 ZIP 文件,因此您可以使用任何存档管理器将其解压缩,例如 7-ZIP .它将包含类文件,这些文件是已编译的 Java 文件。您需要一个 Java 反编译器来读取和修改字节码。

关于java - 从 jar 文件更改类的代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11848161/

相关文章:

java - 将接口(interface)的类​​信息存储在 HashMap 中,并稍后创建该接口(interface)的实例

java - 即使应用程序关闭,也尝试保存复选框的状态和该复选框内的数据

java - 安装结束时出现install4j : How to execute command line java -jar filename. jar

java - 在 Java 中只使用一个库

java - 我们如何将 REST 服务部署为 jar?

java - 无法在java中执行cmd文件

java - 如何获取表格内的文本并迭代多个

java - "Requested entity was not found."- Apps 脚本执行 API 错误

java - 访问包含带有 jar 的文件夹的存储库

java - 如何在vscode中使用相对路径为eclipse Java项目添加引用的库JAR文件