我有一个 MyFile.jar 文件。我使用 JD-GUI 对其进行反编译,并使用其“保存所有源”选项将文件保存为 .zip 文件。现在提取 .zip 文件并编辑 .java 文件。
.zip文件解压后的文件夹结构是这样的
_____ META-INF(folder)
source(folder) -------|
------com(folder)-->example--->App---> all .java files
现在我如何将它重新编译回 .jar 文件?
如您的问题所述,您已将类文件反编译为java文件并进行了必要的修改。
希望您已将其作为项目导入到 Eclipse 中。导出与 jar 相同。需要注意的一点是,你应该知道构建项目的依赖关系
要将编辑后的Java文件重新编译回.jar文件,可以使用Java编译器(javac)将.java文件编译成.class文件,然后使用jar命令将编译后的文件生成新的.jar文件.class 文件。
步骤如下:
打开终端或命令提示符并导航到已编辑的 .java 文件所在的目录。
使用以下命令将.java文件编译成.class文件:
javac -d 。来源/com/example/App/*.java
该命令会编译source/com/example/App目录及其子目录下的所有.java文件,并将编译后的.class文件保存在当前目录(.)下。
使用以下命令创建一个新的 .jar 文件:
jar cvf MyFile.jar com META-INF
此命令将创建一个名为 MyFile.jar 的新 .jar 文件,其中包含 com 和 META-INF 目录。
您现在应该有一个新的 .jar 文件,其中包含您编辑的 Java 代码。