パッケージjavax.tools


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

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

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

このパッケージは、Javaプログラミング言語コンパイラ・フレー ワークのホー です。 このフレー ワークのクライアントは、プログラ からコンパイラを検索し、実行することができます。 このフレー ワークには、診断(DiagnosticListener)への構 化アクセス用のサービス・プロバイダ・インタフェース(SPI)と、ファイル・アクセス(JavaFileManagerJavaFileObject)をオーバーライドするためのファイル抽象化も用意されています。 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