モジュール java.compiler

パッケージ javax.tools

コンパイラなどのプログラムから呼び出せるツールのインタフェースを提供します。

これらのインタフェースおよびクラスは、Java Platform, Standard Edition (Java SE)の一部として必要ですが、実装するツールを提供する必要はありません。

このパッケージに含まれるすべてのメソッドは、明示的に許可されていないかぎり、引数としてnullが指定された場合、またはnull要素を含むリストまたはコレクションが指定された場合に、NullPointerExceptionをスローする可能性があります。 同様に、明示的に許可されていないかぎり、どのメソッドもnullを返すことはできません。

このパッケージは、Javaプログラミング言語コンパイラ・フレームワークのホームです。 このフレームワークのクライアントは、プログラムからコンパイラを検索し、実行することができます。 このフレームワークは、ファイル・アクセスをオーバーライドするために使用するファイルの抽象化(JavaFileManagerJavaFileObject)に加えて、診断情報の構造化アクセスに使用するサービス・プロバイダ・インタフェース(SPI)(DiagnosticListener)も提供します。 SPIの使用方法の詳細は、JavaCompilerを参照してください。

実行時は、コンパイラは不要です。 ただし、デフォルトのコンパイラが指定されている場合は、ToolProviderを使用して検索できます。次に例を示します。

JavaCompiler compiler = ToolProvider.getSystemJavaCompiler();

サービス・プロバイダ・メカニズムを利用して、代替のコンパイラまたはツールを提供できます。

たとえば、com.vendor.VendorJavaCompilerJavaCompilerツールのプロバイダである場合、その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.Filejava.nio.file.Pathに基づくファイル・マネージャ。
    StandardJavaFileManager.PathFactory
    文字列からPathオブジェクトを作成するためのファクトリ。
    Tool
    プログラムから呼出し可能なツールの共通インタフェースです。
  • クラスのサマリー
    クラス 説明
    DiagnosticCollector<S>
    診断情報を簡単に収集し、リスト化する手段を提供します。
    ForwardingFileObject<F extends FileObject>
    指定されたファイル・オブジェクトに呼出しを転送します。
    ForwardingJavaFileManager<M extends JavaFileManager>
    指定されたファイル・マネージャに呼出しを転送します。
    ForwardingJavaFileObject<F extends JavaFileObject>
    指定されたファイル・オブジェクトに呼出しを転送します。
    SimpleJavaFileObject
    JavaFileObjectに含まれる大部分のメソッドに対して、簡単な実装を提供します。
    ToolProvider
    コンパイラのプロバイダなど、ツール・プロバイダを検索するメソッドを提供します。
  • 列挙型のサマリー
    列挙型 説明
    Diagnostic.Kind
    診断情報の種類(エラー、警告など)です。
    DocumentationTool.Location
    DocumentationToolに固有の場所です。
    JavaFileObject.Kind
    JavaFileObjectの種類です。
    StandardLocation
    ファイル・オブジェクトの標準の場所です。