java [ options ] class [ argument ... ] java [ options ] -jar file.jar [ argument ... ]
options
- コマンド行オプション
class
- 呼び出されるクラスの名前
file.jar
- 呼び出される JAR ファイルの名前。必ず
-jar
と同時に使用されるargument
- main 関数に渡される引数
java ツールは、Java アプリケーションを起動します。java ツールは、Java Runtime Environment を起動したあと、指定されたクラスをロードし、このクラスの main メソッドを呼び出して Java アプリケーションを起動します。メソッドの宣言は、次のようにする必要があります。public static void main(String args[])メソッドは、public および static として宣言します。 値は返されません。 String 配列をパラメータとして指定できなければなりません。デフォルトでは、オプションではない最初の引数が、呼び出すクラスの名前になります。この名前には、完全指定のクラス名を使用する必要があります。-jar オプションを指定した場合、オプションではない最初の引数は、アプリケーションのクラスファイルとリソースファイルを含む JAR アーカイブの名前になります。 この場合、Main-Class マニフェストヘッダで指定されたクラスがスタートアップクラスになります。Java Runtime では、スタートアップクラスおよび使用されるその他のクラスは、ブートストラップクラスパス、インストール型拡張機能、およびユーザクラスパスの 3 つの位置セットから検索されます。
クラス名または JAR ファイル名のあとのオプションではない引数は、main 関数に渡されます。
起動コマンドには、現在の実行環境および将来のリリースでサポートされる標準オプションがあります。さらに、Virtual Machine の現在の実装では、将来のリリースで変更される可能性のある、一連の非標準オプションがサポートされます。
- -client
- Java HotSpot Client VM を選択します。これはデフォルトです。
- -server
- Java HotSpot Server VM を選択します。
- -classpath classpath
- -cp classpath
- クラスファイルを探すディレクトリ、JAR アーカイブ、および ZIP アーカイブのリストを指定します。クラスパスの各エントリはコロン (:) で区切ります。-classpath または -cp を指定すると、これらのオプションの値によって CLASSPATH 環境変数の設定は上書きされます。
-classpath と -cp を使用せず、CLASSPATH も設定されていない場合、ユーザクラスパスは現在のディレクトリ (
.
) になります。クラスパスの詳細は、「クラスパスの設定」を参照してください。
- -Dproperty=value
- システムプロパティの値を設定します。
- -jar
- JAR ファイルの中にカプセル化されたプログラムを実行します。最初の引数は、スタートアップクラスの名前ではなく、JAR ファイルの名前になります。このオプションが機能するには、JAR ファイルのマニフェストに「Main-Class: classname」という形式の行を指定する必要があります。classname には、アプリケーションの開始位置として機能する public static void main(String[] args) メソッドを含むクラスを指定します。JAR ファイルとそのマニフェストについては、JAR ツールのページおよび Java チュートリアルの「Jar Files」を参照してください。
このオプションを使用すると、指定された JAR ファイルは、すべてのユーザクラスのソースになり、ほかのユーザクラスパス設定は無視されます。
- -verbose
- -verbose:class
- クラスがロードされるたびにクラスに関する情報を表示します。
- -verbose:gc
- ガベージコレクションイベントが発生するたびに報告します。
- -verbose:jni
- ネイティブメソッドおよびその他の Java Native Interface (JNI) の使用に関する情報を報告します。
- -version
- バージョン情報を表示して終了します。
- -showversion
- バージョン情報を表示して継続します。
- -?
- -help
- 使用法を表示して終了します。
- -X
- 非標準オプションに関する情報を表示して終了します。
- -Xint
- インタプリタ専用モードで動作します。ネイティブコードへのコンパイルは無効になり、すべてのバイトコードがインタプリタによって実行されます。Java HotSpot VM に適合するコンパイラが提供するパフォーマンス上の利点は、このモードでは実現されません。
- -Xdebug
- デバッガが有効な状態で起動します。Java インタプリタは、jdb が使用するパスワードを表示します。詳細と例については、jdb の「解説」を参照してください。
- -Xbootclasspath:bootclasspath
- ブートクラスファイルを探すディレクトリ、JAR アーカイブ、および ZIP アーカイブをコロンで区切ったリストを指定します。指定されたパスに存在するブートクラスファイルは、Java 2 SDK に含まれるブートクラスファイルの代わりに使われます。注: このオプションを、rt.jar 内のクラスをオーバーライドする目的で使用するアプリケーションは、指定しないようにしてください。指定すると、Java 2 Runtime Environment バイナリコードライセンス違反になります。
- -Xbootclasspath/a:path
- デフォルトのブートストラップクラスパスに追加するディレクトリ、JAR アーカイブ、および ZIP アーカイブをコロンで区切ったパスを指定します。
- -Xbootclasspath/p:path
- ディレクトリ、JAR アーカイブ、および ZIP アーカイブのパスをコロンで区切って指定して、デフォルトのブートストラップクラスパスの前に追加します。注: このオプションを、rt.jar 内のクラスをオーバーライドする目的で使用するアプリケーションは、指定しないようにしてください。指定すると、Java 2 Runtime Environment バイナリコードライセンス違反になります。
- -Xfuture
- 厳密なクラスファイル形式の検査を実行します。下位互換性を維持するため、Java 2 SDK の Virtual Machine で実行されるデフォルトの形式検査は、JDK ソフトウェアの 1.1.x バージョンで実行される検査よりも厳密ではありません。-Xfuture フラグを使用すると、クラスファイル形式をより仕様に準拠したものにするための、さらに厳密なクラスファイル形式検査が有効になります。開発者は、新しいコードを開発する際にはこのフラグを使用することが推奨されます。これは、Java アプリケーション起動ツールの将来のリリースでは、厳密な検査がデフォルトになるためです。
-Xnoclassgc
- クラスのガベージコレクションを無効にします。
- -Xincgc
- インクリメンタルガーベジコレクタを有効にします。インクリメンタルガーベジコレクタは、デフォルトでは無効ですが、プログラムの実行中にガーベジコレクションが一時停止しないようにします。ただし、減少できるのは GC 全体のパフォーマンスの約 10% までです。