我试图理解默认JavaCompiler
的实现方式,即通过调用ToolProvider.getSystemJavaCompiler()
可以获得的。
如何将其与JavaFileManager
一起使用?
我知道编译器使用它给出的文件管理器(通过getTask
方法的一个参数)来搜索源文件,并决定将编译输出放在哪里 - 但是如何?
例如,对于来源,是使用getJavaFileForInput()
方法还是getFileForInput()
?
如何使用DiagnosticListener
?
我将DiagnosticListener
对象传递给getTask
方法,即使编译失败,也没有任何内容写入此对象。
如何调试我做错了什么?
是否有任何地方详细说明默认编译器如何使用getTask
参数?不是用JavaDoc编写的。