java(1)

名前
java - Java インタプリタ

形式
java [ options ] class [ argument ... ]

java [ options ] -jar file.jar
[ argument ... ]

パラメータ
オプションの指定順序は任意です。特定のオプションに適用されるパラメータ については、以下の「オプション」節を参照してください。

options
    コマンド行オプション。以下の「オプション」節を参照

class
    呼び出されるクラスの名前

file.jar
    呼び出されるファイルの名前。必ず -jar と同時に使用される

機能説明

java ツールは、Java アプリケーションを起動します。 java ツールは、Java Runtime Environment を起動したあと、指定されたクラスをロードし、このクラスの main メソッドを呼び出して Java アプリケーションを起動します。 main メソッドは次のシグニチャーを持っていなければなりません。

   public static void main(String args[])

このメソッドは public および static で宣言され、値を返さず、パラメータとして String 配列を使用できなければなりません。 デフォルトでは、オプションではない最初の引数が、呼び出すクラスの名前に なります。この名前には、完全指定のクラス名を使用する必要があります。 -jar オプションを指定した場合、オプションではない最初の引数は、アプリケーションの クラスファイルとリソースファイルを含む JAR アーカイブの名前になります。 この場合、Main-Class マニフェストヘッダで指定されたクラスがスタート アップクラスになります。

Java Runtime は、ブートストラップクラスパス、インストール型拡張機能、 およびユーザクラスパスの 3 つの場所から、起動クラスとその他の 使用するクラスを探します。

クラス名または JAR ファイル名のあとにあるオプションではない引数は、 main 関数に渡されます。

オプション
起動コマンドには、現在の実行環境および将来のリリースでサポートされる 標準オプションがあります。ただし以下で説明するように、別のオプションに 置き換えられたオプションは現在では使われておらず、将来のリリース では削除される予定です。このほかの非標準オプションは、 現在の Virtual Machine 実装に固有のオプションで、将来変更される 可能性があります。非標準オプションは -X で始まります。

  標準オプション

-client
    Java HotSpot Client VM を選択します。これがデフォルトです。

-server
    Java HotSpot Server VM を選択します。

-classpath classpath
-cp classpath
    クラスファイルを探すディレクトリ、JAR アーカイブ、および ZIP アーカイブのリストを指定します。クラスパスの各エントリはコロン (:) で区切ります。 -classpath または -cp を指定すると、これらのオプションの値によって CLASSPATH 環境変数の設定は上書きされます。

    java で -classpath または -cp を使う場合、これらのオプションによって指定されるのはユーザクラスの クラスパスだけです。 oldjava で -classpath または -cp を使う場合、これらのオプションによって指定されるのは、ユーザクラスと ブートストラップクラスの両方のクラスパスです。

    -classpath と -cp を使用せず、 CLASSPATH も設定されていない場合、ユーザクラスパスは現在のディレクトリ (.) になります。

-debug
    -Xdebug に置き換わりました。

-Dproperty=value
    システムプロパティの値を設定します。

-jar
    JAR の中にカプセル化されたプログラムを実行します。最初の引数は、起動クラスの名前ではなく、JAR アーカイブファイルの名前になります。 このオプションが動作するためには、JAR ファイルのマニフェストに形式 Main-Class:classname の行が入っていなければなりません。 classname は、ユーザのアプリケーションの開始点となる public static void main(String[] args) メソッドを持つクラスを識別します。Jar ファイルと Jar ファイルのマニフェストを扱う方法については、Jar ツールのリファレンスページと「Java Tutorial」の「Jar Files」を参照してください。このオプションを使用するときは、JAR ファイルがすべてのユーザクラスのソースとなるため、他のユーザクラスパスの設定は無視されます。

-noclassgc
    -Xnoclassgc に置き換わりました。

-msh
    -Xms n に置き換わりました。

-mxn
    -Xmx n に置き換わりました。

-ssn
    -Xss n に置き換わりました。

-verbose
-verbose:class
    クラスがロードされるたびにクラスに関する情報を表示します。

-verbosegc
    -verbose:gc に置き換わりました。

-verbose:gc
    ガベージコレクションイベントが発生するたびに報告します。

-verbose:jni
    ネイティブメソッドおよびその他の Java Native Interface (JNI) の使用に関する 情報を報告します。

-version
    バージョン情報を表示して終了します。

-showversion
    バージョン情報を表示して、実行を継続します。

-?
-help
    使用法を表示して終了します。

-X  非標準オプションに関する情報を表示して終了します。

  非標準オプション

-Xint
    インタプリタ専用モードで動作します。ネイティブコードへのコンパイルは 無効になり、すべてのバイトコードがインタプリタによって実行されます。 Java HotSpot VM 適応型コンパイラによって得られるパフォーマンス上の 利点は、このモードでは実現されません。

-Xbootclasspath:bootclasspath
    ブートクラスファイルを探すディレクトリ、JAR アーカイブ、および ZIP アーカイブをコロンで区切ったリストを指定します。指定されたパスに 存在するブートクラスファイルは、Java 2 SDK と Java 2 Runtime Environment に含まれるブートクラスファイルの代わりに使わ れます。

-Xbootclasspath/a:path
    デフォルトのブートストラップクラスパスに追加するディレクトリ、 JAR アーカイブ、および ZIP アーカイブのパスをコロンで区切って指定します。

-Xbootclasspath/p:path
    デフォルトのブートストラップクラスパスの前に追加する ディレクトリ、 JAR アーカイブ、および ZIP アーカイブのパスをコロンで区切って指定します。 注: このオプションを、 rt.jar 内のクラスをオーバーライド する目的で使用するアプリケーションは指定しないでください。 指定すると、Java 2 Runtime Environment バイナリコードライセンス違反になることがあります。

-Xdebug
    デバッガが有効な状態で起動します。Java インタプリタは、 jdb(1) が使用するパスワードを表示します。詳細と例については、「 jdb(1) の説明」 を参照してください。 注: このリリースでは、このオプションの前に -Djava.compiler=NONE を指定することにより、事前にコンパイラを無効にしておく 必要があります。この制限は将来のリリースではなくなる予定です。

-Xfuture
    厳密なクラスファイル形式の検査を実行します。下位互換性を維持 するため、Java 2 SDK の Virtual Machine で実行されるデフォルトの 形式検査は、JDK ソフトウェアの 1.1.x バージョンで実行される検査よりも 厳密ではありません。 -Xfuture フラグを使用すると、クラスファイル形式を より仕様に準拠したものにするための、さらに厳密なクラスファイル形式検査が 有効になります。開発者が新しいコードを開発する際には、このフラグの 使用を推奨します。Java アプリケーション起動ツールの 将来のリリースでは、より厳密な検査がデフォルトになるからです。

-Xnoclassgc
    クラスのガベージコレクションを無効にします。

-Xmsn
    メモリ割り当てプールの初期サイズを指定します。指定する値は、1000 より 大きくなければなりません。 n の単位を変更するには、K バイトには文字 k を、M バイトには文字 m を数値の後に付けます。デフォルトは 8m です。

-Xmxn
    メモリ割り当てプールの最大サイズを指定します。指定する値は、 1000 より大きくなければなりません。 n の単位を変更するには、K バイトには文字 k を、M バイトには文字 m を数値の後に付けます。 デフォルトは 24m です。

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

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

-Xssn
    Java スレッドはそれぞれ 2 つのスタックを持っています。1 つは Java コード用で、もう 1 つは C コード用です。 -Xss オプションは、1 つのスレッド内の C コードが使用できる最大スタックサイズを n に設定します。 java に渡されたプログラムの実行中に生成されたスレッドは それぞれ、独自の C ス タックサイズとして n を持っています。 n のデフォルトの単位はバイトで、 n は 1000 バイトよりも大きくなければなりません。

    n の意味を変更する場合、キロバイトにするには文字 k を、メガバイトにするには文字 m を追加します。デフォルトのスタックサイズは Java プラットフォームを実行している Linux オペレーティングシステムに よって決められます。

環境変数

CLASSPATH
    ユーザ定義クラスへのパスをシステムに通知するために使用します。 複数のディレクトリを指定する場合はコロンで区切ります。 次に例を示します。

    .:/home/avh/classes:/usr/local/java/classes

関連項目
javac(1)、 jdb(1)、 javac(1)、 jar(1)、 set(1)

次については、 java.sun.com を参照または検索してください。

JDK のファイル構造 @
    http://java.sun.com/j2se/1.3/ja/docs/ja/tooldocs/linux/jdkfiles.html (http://java.sun.com/j2se/1.3/docs/tooldocs/linux/jdkfiles.html ：英語版)

JAR Files @
    http://java.sun.com/docs/books/tutorial/jar/

注意事項
すべての -X オプションは流動的です。「オプション」の節で 説明しているように、いくつかの標準オプションは現在では 使われていません。