基本介紹
- 中文名:Java擴展工具包
- 外文名:javax.tools
- 目的:能夠從程式中調用的工具提供接口
- 部分: Java™Platform等
- 使用: ToolProvider
詳細描述,接口摘要,類摘要,枚舉摘要,
詳細描述
為能夠從程式(例如,編譯器)中調用的工具提供接口。
要求這些接口和類作為 Java™Platform, Standard Edition (Java SE) 的一部分,但是不要求提供任何實現它們的工具。
除非明確允許,否則只要給定 null 參數或給定包含 null 元素的列表或集合,此包中的所有方法都將拋出 NullPointerException。類似地,除非明確允許,否則所有方法都不可以返回 null。
此包是 Java 程式語言編譯器框架的主要部分。此框架允許框架的客戶端查找並運行程式中的編譯器。該框架還為結構化訪問診斷(DiagnosticListener)提供服務提供者接口(SPI),為重寫檔案訪問提供檔案抽象(JavaFileManager 和 JavaFileObject)。有關使用 SPI 的詳細信息,請參閱 JavaCompiler。運行時不需要編譯器。然而,如果提供了默認編譯器,則可以使用 ToolProvider 查找它,例如:
JavaCompiler compiler = ToolProvider.getSystemJavaCompiler();
可以通過服務提供者機制提供可選編譯器或工具。
例如,如果 com.vendor.VendorJavaCompiler 是 JavaCompiler 工具的提供者,則其 jar 檔案應包含 META-INF/services/javax.tools.JavaCompiler 檔案。此檔案將包含單行:
com.vendor.VendorJavaCompiler
如果 jar 檔案在類路徑上,則可以使用以下代碼查找 VendorJavaCompiler:
JavaCompiler compiler = ServiceLoader.load(JavaCompiler.class).iterator().next();
接口摘要
Diagnostic<S> | 用於來自工具的診斷的接口。 |
DiagnosticListener<S> | 用於接收來自工具的診斷的接口。 |
FileObject | 工具的檔案抽象。 |
JavaCompiler | 從程式中調用 Java™ 程式語言編譯器的接口。 |
JavaCompiler.CompilationTask | 表示編譯任務的 future 的接口。 |
JavaFileManager | 在 Java™ 程式語言源和類檔案之上進行操作的工具的檔案管理器。 |
JavaFileManager.Location | 檔案對象位置的接口。 |
JavaFileObject | 在 Java™ 程式語言源和類檔案上進行操作的工具的檔案抽象。 |
OptionChecker | 識別選項的接口。 |
StandardJavaFileManager | 基於 java.io.File 的檔案管理器。 |
Tool | 可以從程式中調用的工具的公共接口。 |
類摘要
DiagnosticCollector<S> | 提供將診斷收集到一個列表中的簡單方法。 |
ForwardingFileObject<F extends FileObject> | 將調用轉發到給定的檔案對象。 |
ForwardingJavaFileManager<M extends JavaFileManager> | 將調用轉發到給定的檔案管理器。 |
ForwardingJavaFileObject<F extends JavaFileObject> | 將調用轉發到給定的檔案對象。 |
SimpleJavaFileObject | 為 JavaFileObject 中的大多數方法提供簡單實現。 |
ToolProvider | 為查找工具提供者提供方法,例如,編譯器的提供者。 |
枚舉摘要
Diagnostic.Kind | 診斷的種類,例如,錯誤或者警告。 |
JavaFileObject.Kind | JavaFileObject 的種類。 |
StandardLocation | 檔案對象的標準位置。 |
從以下版本開始:1.6