rmic - Java RMI スタブコンパイラ

rmic は、リモートオブジェクトのためのスタブとスケルトンを生成します。

機能説明

rmic [ options ] package-qualified-class-name(s)

説明

rmic コンパイラは、リモートオブジェクトの実装を含む Java クラスの名前から、リモートオブジェクトのためのスタブとスケルトンクラスファイルを生成します(リモートオブジェクトはインタフェース java.rmi.Remote を実装しているオブジェクトです)。rmic コマンドで名付けられたこのようなクラス名は、javac コマンドでコンパイルが成功したクラス、および完全な適格性をもつパッケージです。たとえば、クラスファイル名 HelloImplrmic を実行するには、次のようにします。
rmic hello.HelloImpl

これにより、HelloImpl_Skel.classファイルとHelloImpl_Stub.classファイルが作成されます。

リモートオブジェクトのスケルトンはサーバ側のエンティティで、実際のリモートオブジェクト実装を呼び出すメソッドを含みます。

スタブとは、リモートオブジェクトの代理です。それは、リモートオブジェクトのメソッド呼び出しを、本物のリモートオブジェクトが常駐するサーバに転送する責任をもちます。したがって、クライアントのリモートオブジェクトへの参照は、実際は局所スタブへの参照となります。

スタブは、リモートインタフェースだけを実装し、リモートオブジェクトが実装するいかなる局所インタフェースも実装していません。スタブはリモートオブジェクト自身が実装するリモートインタフェースとまったく同じものを実装しているので、クライアントは、キャストや型チェックに Java 言語に組み込まれた演算子を使用することができます。

オプション

-classpath path
rmicがクラスを探すためのパスを指定します。このオプションは、デフォルトや CLASSPATH 環境変数設定を上書きします。ディレクトリはセミコロンで分割します。したがって、pathの一般形式は次のようになります。
.;<your_path>
たとえば、パスの指定は次のとおりです。
.;C:\usr\local\java\classes

-d directory
クラス階層のルートディレクトリを指定します。省略した場合のデフォルト値は現在のディレクトリです。

-depend
コンパイラに、他のクラスが参照するクラスを再コンパイラするかどうか考えさせます。通常、ソースコードが参照するクラスが欠落したり、古くなったものだけを再コンパイルするだけです。

-g
デバッガ用のテーブルを生成します。デバッガ用のテーブルは行番号や局所変数に関する情報を含みます。この情報は Java デバッガツールが使用します。デフォルトでは、最適化 (-Oオプション) がオフの場合、行番号だけが生成されます。

-keepgenerated
スタブやスケルトンのための .java ソースファイルを .class ファイルと同じディレクトリに残します。-d オプションが指定されていれば、その設定にしたがいます。

-nowarn
警告をオフにします。このオプションにより、コンパイラはいかなる警告も表示しません。

-O
static、final および private のメソッドをインライン化することによって、コンパイルされるコードを最適化します。クラスのサイズが大きすぎないように注意してください。

-show
rmic コンパイラ用の GUI (グラフィカルユーザインタフェース) を表示します。パッケージの資格をもつ 1 つ以上のクラス名 (スペースで分ける) を入力し、Enter キーまたは Show ボタンを押し、スタブやスケルトンを作成します。

-verbose
コンパイラやリンカに、コンパイルされているクラスやロードされているクラスファイルについて、メッセージを表示させます。

環境変数

CLASSPATH
ユーザ定義クラスへのパスをシステムに指定します。ディレクトリは、UNIX や Macintosh ではコロンで、Win95 はセミコロンで分割します。たとえば、次のとおりです。
.;C:\usr\local\java\classes

参照

The javac command.