【发布时间】:2012-09-17 16:16:59
【问题描述】:
我正在寻找一些关于如何在缺少其他一些代码(方法调用)的情况下编译 Java 代码的想法。我完全知道如果找不到所有依赖项,javac 将不允许您编译 Java 文件。但也许有一些方法可以绕过它,比如强制编译。
我的字节码知识不是很好,但我认为某些方法调用只是类和方法名称的完整包定义以及参数。因此,如果编译器只是将此数据放入类文件并假设在运行过程中依赖项将可用(如果不是简单的 NoSuchMethodExp)。
到目前为止,我发现的唯一解决方法是使用空方法创建空的缺失类文件来“欺骗”编译器。完美运行,但应该有更简单的方法:)
有什么想法吗?
【问题讨论】:
-
我认为您已经在实施唯一合理的解决方案:)
-
我阅读了您的回答,必须详细说明我的问题。我正在修改我没有源的 jar 文件。我反编译我想要的类,进行更改,编译为单个类并放回 jar 并开始修改。但是要编译我需要其他 jar 类。
标签: java compiler-construction