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 ファイルは、すべてのユーザクラスのソースになり、ほかのユーザクラスパス設定は無視されます。

Solaris 8 では、"java -jar" オプションを付けて実行可能な JAR ファイルは、実行権限セットを保持しています。このため、"java -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 のデフォルトの単位はバイトです。また、n > 1000 バイトでなければなりません。 n の単位を変更するには、文字 k (キロバイトの場合) または文字 m (メガバイトの場合) を追加します。 デフォルトのスタックサイズは、512 キロバイト (-Xss512k) です。

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

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

関連項目