我正在编写自定义 AnnotationProcessor 并需要访问在执行期间设置为 javac 的选项:例如 -verbose、-s、-d
这样做的正确方法是什么。我不认为解析“sun.java.command”系统属性或访问 com.sun.tools.javac.util.Options 是这样做的好方法。
非常感谢。
PS:对于 -s 选项可能是这样的:
JavaCompiler compiler = ToolProvider.getSystemJavaCompiler();
StandardJavaFileManager fm = compiler.getStandardFileManager(null, null, null);
Iterable<? extends File> locations = fm.getLocation(StandardLocation.SOURCE_OUTPUT);