パッケージjavax.tools
これらのインタフェースおよびクラスは、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();
- 導入されたバージョン:
- 1.6
-
クラス説明Diagnostic<S>ツールからの診断情報を表示するインタフェースです。診断情報の種類(エラー、警告など)です。診断情報を簡単に収集し、リスト化する手段を提供します。ツールからの診断情報を受け取るインタフェースです。プログラムからJavaプログラミング言語ドキュメント・ツールを起動するインタフェースです。ドキュメント・タスクのフューチャを表すインタフェースです。
DocumentationTool
に固有の場所です。ツール用のファイルの抽象化です。ForwardingFileObject<F extends FileObject>指定されたファイル・オブジェクトに呼出しを転送します。ForwardingJavaFileManager<M extends JavaFileManager>指定されたファイル・マネージャに呼出しを転送します。ForwardingJavaFileObject<F extends JavaFileObject>指定されたファイル・オブジェクトに呼出しを転送します。プログラムからJavaプログラミング言語コンパイラを起動するインタフェースです。コンパイル・タスクの将来を表すインタフェースです。Javaプログラミング言語のソース・ファイルおよびクラス・ファイルで動作するツールのファイル・マネージャ。ファイル・オブジェクトの場所のインタフェースです。Javaプログラミング言語のソース・ファイルおよびクラス・ファイルで動作するツールのファイル抽象化。JavaFileObjectの種類です。オプションを認識するインタフェースです。JavaFileObjectに含まれる大部分のメソッドに対して、簡単な実装を提供します。java.io.File
とjava.nio.file.Path
に基づくファイル・マネージャ。文字列からPath
オブジェクトを作成するファクトリ。ファイル・オブジェクトの標準の場所です。プログラムから呼出し可能なツールの共通インタフェースです。コンパイラのプロバイダなど、ツール・プロバイダを検索するメソッドを提供します。