Java™ Platform
Standard Edition 7

パッケージ javax.tools

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

参照: 説明

パッケージ 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
Java™ Platform
Standard Edition 7

バグまたは機能を送信
詳細な API リファレンスおよび開発者ドキュメントについては、Java SE のドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright © 1993, 2013, Oracle and/or its affiliates. All rights reserved.