重新编译.java文件而无需访问库?

时间:2014-04-14 01:58:21

标签: java recompile

所以我的情况就是这样:我有一个包含2个.class文件的.jar文件,都是从我无法访问的库中导入的(该库是专有的,不知何故隐藏,所以没办法得到它。)

现在我想改变这些.class文件的实现。反编译是没有问题的,但是因为我没有代码依赖的库我无法编译。我听说过创建"存根"对于遗漏的方法,但是我不太了解java在这种情况下如何创建这样的存根(如果可能的话,可能会理解正确方向的某些指针)。

有什么方法可以让我的修改过的文件编译完成吗?就像强制编译器忽略丢失的方法一样?或者我唯一的选择是Java Bytecode Editor

1 个答案:

答案 0 :(得分:1)

如果反编译类使用某些缺失的依赖项,例如

class X {
  void x() {
      y.Y y = new y.Y();
      y.y();
  }
}

你应该为它创建一个存根

package y;
public class Y {
    public void y() {
    }
}