]引数の順は任意です。プログラミング言語で記述されたクラスとインタフェースの定義を読み取り、バイトコードクラスファイルにコンパイルします。ソースファイルの数が少ない場合は、ファイル名をコマンド行で直接指定します。ソースファイルの数が多い場合は、ファイル名を空白または行ブレークで区切ってファイルに記述します。コマンド行で指定します。拡張子を持たなければなりません。ソースファイルとクラスファイルのどちらも、該当するクラスに対応したルート名を持たなければなりません。いう名前のソースファイルに記述します。いう名前のバイトコードクラスファイルにコンパイルされます。内部クラス定義は、追加のクラスファイルを生成します。ように、内部クラス名と外部クラス名を組み合わせたものになります。ソースファイルは、パッケージツリーを反映したディレクトリツリーに配置する必要があります。デフォルトでは、コンパイラは各クラスファイルを対応するソースファイルと同じディレクトリに置きます。使うと、ソースファイルのある場所とは異なる出力先ディレクトリを指定できます。型の検索ソースファイルをコンパイルするとき、コンパイラには、まだ認識していない型に関する情報が必要になることがあります。コンパイラには、ソースファイルで使われているクラスまたはインタフェース、拡張されているクラスまたはインタフェース、あるいは実装されているクラスまたはインタフェースそれぞれの型情報が必要です。これには、ソースファイルで明示的には言及されていなくても、継承を通じて情報を提供するクラスとインタフェースも含まれます。コンパイラは、型情報が必要になると、該当する型を定義しているソースファイルまたはクラスファイルを探します。コンパイラは、まず、ブートストラップクラスと拡張機能クラスを検索し、次にユーザクラスパスを検索します。コマンド行オプションを使って設定します。詳細は、「クラスパスの設定」を参照してください。オプションが指定されている場合、コンパイラは、指定されたパスでソースファイルを検索します。それ以外の場合は、ユーザクラスパスでクラスファイルとソースファイルの両方を検索します。オプションを使うと、別のブートストラップクラスや拡張機能クラスを指定できます。後述の「クロスコンパイルオプション」を参照してください。型の検索に成功したときに得られる結果は、クラスファイル、ソースファイル、またはその両方である場合があります。どのように処理を行うかを次に示します。クラスファイルを使用します。ソースファイルをコンパイルし、その結果作成されるクラスファイルを使用します。クラスファイルが古くなっているかどうかを調べます。クラスファイルが古くなっている場合は、ソースファイルを再コンパイルし、更新後のクラスファイルを使用します。それ以外の場合は、見つかったクラスファイルを使用します。クラスファイルが古くなっていると判断します。オプションを指定すると、処理速度は遅くなりますが、より信頼性の高い方法で判断します。コマンド行に指定されていないソースファイルをコンパイルするときでも、そのことを示すメッセージを表示しません。オプションを使ってください。複数指定することができます。「@」文字で始まる引数に遭遇すると、そのファイル内にあるファイル名がコマンド行に書かれていたかのように、それらのファイル名に対して操作を行います。いうファイル内に、次のようにすべてのソースファイル名を列挙できます。リストファイルは、次のようになります。次のコマンドを使って、コンパイラを実行できます。@sourcefilesオプションコンパイラには、現在の開発環境でサポートされ、将来のリリースでもサポートされる標準オプションのセットがあります。コンパイラの実装に固有のオプションで、将来変更される可能性があります。環境変数のユーザクラスパスを上書きします。どちらも指定されていない場合、ユーザクラスパスは現在のディレクトリになります。詳細は、「クラスパスの設定」を参照してください。オプションが指定されていない場合は、クラスファイル同様、ソースファイルもユーザクラスパスで検索されます。directoryクラスファイルの出力先ディレクトリを設定します。必要に応じてディレクトリを作成し、パッケージ名を反映したサブディレクトリにクラスファイルを置きます。ソースファイルと同じディレクトリにクラスファイルを置きます。指定されたディレクトリがユーザクラスパスに自動的に追加されるわけではないことに注意してください。-deprecation推奨されないメンバやクラスが、使用あるいはオーバーライドされるたびに説明を表示します。推奨されないメンバやクラスを使用あるいはオーバーライドしているソースファイルの名前を表示します。指定されていない場合は、プラットフォームのデフォルトコンバータが使われます。-g局所変数を含むすべてのデバッグ情報を生成します。デフォルトでは、行番号およびソースファイル情報だけが生成されます。-g:noneデバッグ情報は生成されません。list}コンマで区切られたキーワードリストにより指定された、特定の種類のデバッグ情報だけを生成します。次のキーワードが有効です。sourceソースファイルのデバッグ情報lines行番号のデバッグ情報vars局所変数のデバッグ情報-nowarn警告メッセージを表示しません。現在の実装では処理は行われません。実行時のコードを最適化します。オプションを指定すると、コンパイル速度が低下し、作成されるクラスファイルのサイズが増大して、デバッグの困難なプログラムが生成されることがあります。オプションを一緒に使うことができませんでした。これらのオプションを組み合わせることができますが、変数の喪失、コードの移動や喪失などの思わぬ結果になる可能性があります。オプションが自動的に無効になったりすることはなくなりました。sourcepathクラスまたはインタフェースの定義を検索するソースコードパスを指定します。アーカイブを指定できます。パッケージを使っている場合は、ディレクトリまたはアーカイブ内のローカルパス名がパッケージ名を反映していなければなりません。ソースが見つかった場合、クラスパスで見つかったクラスは、自動再コンパイルの対象になります。-verbose冗長出力を指定します。ロードされるクラスおよびコンパイルされるソースファイルごとに情報を出力します。添付されているプラットフォームのブートストラップクラスおよび拡張機能クラスに対して行われます。プラットフォームに実装されたブートストラップクラスおよび拡張機能クラスに対してコンパイルを行う「クロスコンパイル」もサポートしています。以下の「クロスコンパイルの例」を参照してください。上で動作するクラスファイルを生成します。両方に互換性のあるクラスファイルを生成します。サポートするバージョンは次のとおりです。互換性があることを保証します。これはデフォルトの動作です。上では動作しないクラスファイルを生成します。上では動作しないクラスファイルを生成します。bootclasspath指定された一連のブートクラスに対してクロスコンパイルを行います。アーカイブを指定できます。directories指定された拡張機能ディレクトリに対してクロスコンパイルを行います。コロンで区切ったディレクトリのリストを指定します。アーカイブで、クラスファイルが検索されます。サポートされています。コンパイラではサポートされていません。-X非標準オプションに関する情報を表示して終了します。-Xdependアクセス可能なすべてのクラスを再帰的に検索し、再コンパイル用のより新しいソースファイルを探します。このオプションを使うと、再コンパイルの必要なクラスをより信頼性の高い方法で検索できますが、コンパイル処理時間が大幅に長くなる可能性があります。