java - Java アプリケーション起動コマンド

形式

    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% までです。

-Xmsn
メモリ割り当てプールの初期サイズをバイト数で指定します。指定する値は、1M バイトより大きい 1024 の倍数にしなければなりません。キロバイトを指定するには、文字 k または K を追加します。 メガバイトを指定するには、文字 m または M を追加します。既定値は 2M バイトです。例:
       -Xms6291456
       -Xms6144k
       -Xms6m
       

-Xmxn
メモリ割り当てプールの最大サイズをバイト数で指定します。指定する値は、2M バイトより大きい 1024 の倍数にしなければなりません。キロバイトを指定するには、文字 k または K を追加します。 メガバイトを指定するには、文字 m または M を追加します。既定値は 64M バイトです。例:
       -Xmx83886080
       -Xmx81920k
       -Xmx80m
       

-Xssn
スレッドのスタックサイズを設定します。各 Java スレッドは、 Java コード用および C コード用の 2 つのスタックを保持します。 このオプションは、スレッド内の C コードが使用可能なスタックサイズの最大値を n に設定します。java に渡されるプログラムの実行中に生成されるスレッドはすべて、C スタックサイズとして n を保持します。 n のデフォルトの単位はバイトです。デフォルトのスタックサイズは、Java プラットフォームが動作する Linux オペレーティングシステムによって異なります。

-Xprof
実行中のプログラムのプロファイルを生成し、プロファイリングデータを標準出力に出力します。このオプションは、プログラム開発用のユーティリティとして提供されているため、本番稼動システムでの使用を目的としたものではありません。

-Xrunhprof[:help][:<suboption>=<value>,...]
cpu、ヒープ、またはモニターのプロファイリングを有効にします。通常、このオプションのあとには、コンマで区切られた「<suboption>=<value>」のペアが続きます。サブオプションおよびそれらのデフォルト値の一覧を取得するには、コマンド java -Xrunhprof:help を実行します。

関連項目