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