我正在使用内存Java编译器,它使用Java源代码并生成可实例化的Class
对象。
现在我通过缓存增强了编译器,缓存将编译器生成的字节代码缓存为类的源代码。
因此,我无法再编译依赖于Cache中的类的类,即,如果类 A (取决于 B )和 B 被编译,它们都被缓存。如果我随后更改 A ,则只会重新编译 A ,并且会收到有关 B 未找到的错误消息:
cannot find symbol
symbol: class MyClass
我该如何解决这个问题? ClassLoader
或FileManager
是否负责解决JavaCompiler
在编译期间遇到的依赖关系?
谢谢!
答案 0 :(得分:0)
回答我自己的问题:
我通过扩展list()
的{{1}}方法来返回我Iterable
的{{1}}。像魅力一样工作!