Java注释处理:我怎么知道一轮是最后一轮?

jav*_*top 12 java annotations annotation-processing shutdown-hook

扩展时AbstractProcessor,有可能覆盖init(...),但没有"相反"的方法,在处理完所有轮次后调用.

这是一个问题:当你必须将每一轮收集的信息附加到同一个文件时,你就无法关闭文件,因为你永远不会知道最后一轮的时间.因此,文件永远不会关闭并保持为空.

使用关闭钩子也不起作用,永远不会调用钩子.

有任何想法吗?

ksc*_*eid 19

Processor.process方法包括类型的参数RoundEnvironment.也许这种RoundEnvironment.processingOver方法可能会有所帮助.