ナビゲーション・リンクをスキップ
Java™ Platform
Standard Edition 8
機械翻訳について

パッケージ 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 8

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