Package javax.tools
作为Java平台标准版(Java SE)的一部分,这些接口和类是必需的,但是不需要提供任何实现它们的工具。
除非明确允许,此包中的所有方法都将抛出NullPointerException如果给一个null
如果给一个参数或list or collection含null
元素。 类似地,除非明确允许,否则不能返回null
。
这个包是Java编程语言编译器框架的首页。 该框架允许框架的客户端从程序中定位和运行编译器。 该框架还提供了用于结构化访问诊断( DiagnosticListener )的服务提供程序接口(SPI)以及用于覆盖文件访问的文件抽象( JavaFileManager和JavaFileObject )。 有关使用SPI的更多详细信息,请参阅JavaCompiler 。
运行时不需要编译器。 但是,如果提供了默认编译器,则可以使用ToolProvider进行定位,例如:
JavaCompiler compiler = ToolProvider.getSystemJavaCompiler();
可以通过service provider mechanism提供替代的编译器或工具。
例如,如果com.vendor.VendorJavaCompiler
是JavaCompiler
工具的提供者,那么其jar文件将包含文件META-INF/services/javax.tools.JavaCompiler
。 该文件将包含单行:
com.vendor.VendorJavaCompiler
如果jar文件位于类路径上,VendorJavaCompiler可以使用如下代码:
JavaCompiler compiler = ServiceLoader.load(JavaCompiler.class).iterator().next();
- 从以下版本开始:
- 1.6
-
接口摘要 接口 描述 Diagnostic<S> 工具诊断界面。DiagnosticListener<S> 用于从工具接收诊断的接口。DocumentationTool 从程序中调用Java编程语言文档工具的接口。DocumentationTool.DocumentationTask 表示文档任务的未来的接口。FileObject 文件抽象的工具。JavaCompiler 从程序中调用Java编程语言编译器的接口。JavaCompiler.CompilationTask 代表编译任务的未来的接口。JavaFileManager 用于Java编程语言源和类文件的工具的文件管理器。JavaFileManager.Location 文件对象的位置接口。JavaFileObject 用于Java编程语言源和类文件的工具的文件抽象。OptionChecker 用于识别选项的界面。StandardJavaFileManager 文件管理器基于java.io.File和java.nio.file.Path 。StandardJavaFileManager.PathFactory 工厂从字符串创建Path
对象。Tool 可以从程序调用的工具的通用界面。 -
类摘要 Class 描述 DiagnosticCollector<S> 提供在列表中收集诊断的简单方法。ForwardingFileObject<F extends FileObject> 转发给定文件对象。ForwardingJavaFileManager<M extends JavaFileManager> 转发给给定的文件管理器。ForwardingJavaFileObject<F extends JavaFileObject> 转发给定文件对象。SimpleJavaFileObject 为JavaFileObject中的大多数方法提供简单的实现。ToolProvider 提供定位工具提供者的方法,例如编译器的提供者。 -
枚举摘要 Enum 描述 Diagnostic.Kind 诊断的种类,例如错误或警告。DocumentationTool.Location 特定于DocumentationTool
的地点。JavaFileObject.Kind 种类的JavaFileObjects。StandardLocation Standard locations of file objects.