4

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

我不知道如何在 Java 中执行第二步和第三步。

我正在考虑编写新的 java 类来扩展这个类并更改数组,但是这个数组被声明为 public static final,这就是我不能更改它的原因。或者我错了,有办法通过扩展类来改变数组吗?

4

3 回答 3

4

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

于 2012-08-07T14:32:08.370 回答
4

提取->反编译-> 添加代码 -> 创建 Jar

于 2012-08-07T14:33:45.900 回答
0

最好的解决方案是在您的代码中使用 JAR 并扩展类(如果类允许您这样做)。

如果不能,JAR 类实际上是一个 ZIP 存档。您可以将 x.jar 重命名为 x.zip 并提取内容:

在这里你有更多信息(特别是 OscarRyz 的回答): 你如何重新编译 jar 文件?

于 2012-08-07T14:34:24.420 回答