名前
rmic - Java Remote Method Protocol (JRMP)を使用してスタブおよびスケルトン・クラス・ファイルを生成
シノプシス
rmic
[options] package-qualified-class-names
- options
- これは、
rmic
コンパイラのコマンド行オプション
です。 「rmicコンパイラのオプション」を参照してください。 - package-qualified-class-names
- パッケージを含むクラス名(例:
java.awt.Color
)です。
説明
非推奨注: rmicツールは非推奨であり、将来のリリースでは削除される可能性があります。 Java Remote Method Protocol (JRMP)のスタブおよびスケルトンの静的な生成のサポートは、非推奨になりました。 アプリケーションは動的に生成されたJRMPスタブを使用する必要があるので、JRMPベースのアプリケーションに対してrmicツールを使用する必要はありません。
rmic
コンパイラは、JRMPを使用したスタブおよびスケルトン・クラス・ファイルを生成します。
注:
rmicコンパイラが更新されて、-idl
および-iiop
オプションが削除されており、IDLまたはIIOPスタブとTieクラスは生成できなくなりました。
リモート・オブジェクトの実装クラスであるJRMPクラス・ファイルは、Javaプログラミング言語のクラスをコンパイルしたときに生成されます。 リモート実装クラスは、java.rmi.Remote
インタフェースを実装するクラスです。 rmic
コマンドでのクラス名は、そのクラスがjavac
コマンドで正常にコンパイルされていて、かつパッケージ名が完全修飾されている必要があります。 たとえば、ここで示すように、クラス・ファイル名HelloImpl
でrmic
コマンドを実行すると、クラスのパッケージ名が付いたhello
サブディレクトリにHelloImpl_Stub.class
ファイルが作成されます。
rmic hello.HelloImpl
リモート・オブジェクト用のスケルトンは、リモート・オブジェクト実装の呼出しをディスパッチするメソッドを含むJRMPプロトコル・サーバー側のエンティティです。
スタブは、リモート・オブジェクト用のクライアント側プロキシで、リモート・オブジェクトでのメソッド呼出しを、実際のリモート・オブジェクト実装が存在するサーバーと通信する役割を持っています。 したがって、クライアントによるリモート・オブジェクトへの参照は、実際はローカル・スタブへの参照となります。
デフォルトでは、rmic
コマンドは、-v1.2
オプションが指定されている場合と同様に、1.2 JRMPスタブ・プロトコル・バージョンのみを使用するスタブ・クラスを生成します。 「rmicコンパイラのオプション」を参照してください。
スタブはリモート・インタフェースだけを実装し、リモート・オブジェクトも実装するローカル・インタフェースは実装しません。 JRMPスタブはリモート・オブジェクトと同じリモート・インタフェースを実装するため、クライアントは、キャストや型チェックにJavaプログラミング言語に組み込まれた演算子を使用できます。
注:
Rmicコンパイラは、--enable-preview
オプションを使用してコンパイルされたクラス・ファイルの読取りをサポートしておらず、プレビュー機能が有効になっているスタブまたはスケルトン・クラスの生成もサポートしていません。
rmicコンパイラのオプション
-bootclasspath
path- ブートストラップ・クラス・ファイルの場所をオーバーライドします。
-classpath
pathrmic
コマンドがクラスを探すために使用するパスを指定します。 このオプションを設定すると、デフォルトやCLASSPATH
環境変数がオーバーライドされます。 オペレーティング・システムに応じて、ディレクトリはコロンまたはセミコロンで区切られます。 pathの一般的な形式を次に示します。Oracle Solaris、LinuxおよびOS X:たとえば、
.:
your_path。 :.:/usr/local/java/classes
Windows:たとえば、
.;
your_path。 :.;/usr/local/java/classes
-d
directory生成されたクラス階層の出力先ディレクトリのルートを指定します。 このオプションを使えば、スタブ、スケルトン、およびTieファイルを格納するディレクトリを指定できます。
Oracle Solaris、LinuxおよびOS X: たとえば、次のコマンドは、
MyClass
から導出されたスタブおよびスケルトン・クラスを/java/classes/exampleclass
ディレクトリに配置します。rmic -d /java/classes exampleclass.MyClass
Windows: たとえば、次のコマンドは、
MyClass
から導出されたスタブおよびスケルトン・クラスをC:\java\classes\exampleclass
ディレクトリに配置します。rmic -d C:\java\classes exampleclass.MyClass
-d
オプションが指定されていない場合、デフォルトの動作は、-d
が指定された場合と同様です。 ターゲット・クラスのパッケージ階層が現在のディレクトリに作成され、スタブ、Tieおよびスケルトン・ファイルがそのディレクトリに配置されます。-g
- ローカル変数を含むすべてのデバッグ情報を生成できます。 デフォルトでは、行番号情報だけが生成されます。
-J
argument-J
オプションを任意のJavaコマンドと組み合せて使用すると、後に続くargument (-J
と引数の間に空白を入れない)がJavaインタプリタに渡されます。-keep
または-keepgenerated
- スタブ、スケルトンおよびタイリング・クラスの生成された
.java
ソース・ファイルを保持し、.class
ファイルと同じディレクトリに書き込みます。 -nowarn
- 警告をオフにします。
-nowarn
オプションを使用すると、コンパイラは警告を出力しません。 -nowrite
- コンパイル済のクラスをファイル・システムに書き込みません。
-vcompat
(非推奨)1.1と1.2の両方のJRMPスタブ・プロトコル・バージョンと互換性のあるスタブおよびスケルトン・クラスを生成します。 5.0よりも前のリリースでは、このオプションがデフォルトでした。 生成されたスタブ・クラスは、JDK 1.1仮想マシンにロードされると1.1スタブ・プロトコル・バージョンを使用し、JDK 1.2以降の仮想マシンにロードされると1.2スタブ・プロトコル・バージョンを使用します。 生成されたスケルトン・クラスでは、1.1と1.2の両方のスタブ・プロトコル・バージョンをサポートします。 生成されたクラスは両方の操作モードをサポートするために、サイズが大きくなります。
注:
このオプションは非推奨になりました。 「非推奨」を参照してください。
-verbose
- コンパイラやリンカーが、コンパイルされているクラスやロードされているクラス・ファイルについてのメッセージを表示するようにします。
-v1.1
(deprecated)1.1 JRMPスタブ・プロトコル・バージョンのみのスタブおよびスケルトン・クラスを生成します。
-v1.1
オプションが役立つのは、JDK 1.1からrmic
コマンドで生成され、アップグレードできない(さらに動的なクラス・ローディングを使用していない)既存の静的にデプロイされたスタブ・クラスと直列化互換性のあるスタブ・クラスを生成する場合のみです。注:
このオプションは非推奨になりました。 「非推奨」を参照してください。
-v1.2
(deprecated)(デフォルト) 1.2 JRMPスタブ・プロトコル・バージョンのみのスタブ・クラスを生成します。 スケルトン・クラスは1.2スタブ・プロトコル・バージョンで使用されないため、スケルトン・クラスは生成されません。 生成されたスタブ・クラスは、JDK 1.1仮想マシンにロードされても動作しません。
注:
このオプションは非推奨になりました。 「非推奨」を参照してください。
環境変数
CLASSPATH
ユーザー定義クラスへのパスをシステムに指定します。
Oracle Solaris、Linux、OS X: ディレクトリはコロンで区切られます(例:
.:/usr/local/java/classes
)。Windows: ディレクトリはセミコロンで区切られます(例:
.;C:\usr\local\java\classes
)。