Package javax.tools
这些接口和类是Java™平台标准版(Java SE)的一部分,但不要求提供任何实现它们的工具。
除非明确允许,此包中的所有方法都将抛出NullPointerException如果给一个null
如果给一个参数或list or collection含null
元素。 同样,除非明确允许,否则任何方法都不能返回null
。
该包是Java编程语言编译器框架的主页。 该框架允许框架的客户端从程序中定位和运行编译器。 该框架还提供服务提供者接口(SPI),用于诊断的结构化访问( DiagnosticListener )以及用于覆盖文件访问的文件抽象( 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 可以从程序调用的工具的通用接口。 -
类摘要 类 描述 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.