Java 编辑 Jar 文件

标签 java compiler-construction jar edit decompiler

我有一个 jar 文件,其中包含几个类。在那个 jar 里有一个我想编辑的Confirmation.class 文件。我使用 JAD 反编译了该类。然后我用 notepad++ 编辑它并保存为 .java 文件。

现在我如何使用其他类创建新的 jar 文件?

其他文件格式是.class,但我的是.java,有问题吗?

如果是,我该如何编译我的 .java 类? (当我使用命令 javac Confirmation.java 时,它会给出错误并需要其他类)

谢谢..

最佳答案

你对其他jar有依赖吗?

如果是这种情况,您必须提前将它们放在编译器类路径中。

无论如何,只需反编译所有包(我使用jd-gui),更改类,编译,将原始jar作为zip打开,将新类放在上面,就完成了。

另一种方法是为缺少的依赖项创建虚拟类...

就我个人而言,我真的不鼓励这种使用已编译的包进行“逆向工程”的方法,但我理解您无法访问原始源代码,但需要紧急修复某些内容的情况(例如:在一家公司工作,您的代码来自地球另一端的外部提供商...)

关于Java 编辑 Jar 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21016350/

相关文章:

java - 如何让 Java split 处理西里尔字母字符串

java - Observer - 围绕电子邮件接收逻辑的可观察模型

compiler-construction - 为什么像 Haskell 这样的函数式语言中没有尖端的编译器后端?

java - qrgen 和 zxing 库出现 java.lang.NoSuchMethodError 异常

Java 在 Lucene 中为 contrib 包创建 JAR 文件

java - 为什么加载图片时要使用getResourceAsStream?

java - 连续生成随机枚举值而不两次获得相同的值

java - MySQL 与 Java (Servlet) 连接的 ClassNotFoundException

compiler-errors - 大多数C/C++编译器如何为数组创建 token ?

visual-studio-2010 - VC++ cl.exe —找不到DLL