javah [ options ] fully-qualified-class-name ...
options
fully-qualified-class-name
javahコマンドは、ネイティブ・メソッドを実装するために必要なCヘッダーとソース・ファイルを生成します。作成されたヘッダーとソース・ファイルは、ネイティブ・ソース・コードからオブジェクトのインスタンス変数を参照するためにCプログラムによって使用されます。.hファイルは、対応するクラスと一致する配置を持つstruct定義を含みます。structのフィールドは、クラスのインスタンス変数に対応します。
ヘッダー・ファイルとその中で宣言される構造体の名前はクラスの名前から派生します。javahコマンドに渡されるクラスがパッケージの中にある場合、パッケージ名はヘッダー・ファイル名と構造体名の両方の先頭に付加されます。アンダースコア(_)が名前の区切り文字として使用されます。
デフォルトではjavahコマンドは、コマンド行にリストされる各クラスのヘッダー・ファイルを作成し、現在のディレクトリにファイルを置きます。ソース・ファイルを作成するには、-stubsオプションを使用してください。1つのファイルの中に、リストされたすべてのクラスの結果を連結するには、-oオプションを使用してください。
Java Native Interface (JNI)はヘッダー情報またはスタブ・ファイルを必要としません。javahコマンドは引き続きJNI形式のネイティブ・メソッドに必要なネイティブ・メソッド関数プロトタイプの生成に使用できます。javahコマンドはデフォルトでJNI形式の出力を生成し、その結果を.hファイルに格納します。
-o outputfile
-d directory
-stubs
-verbose
-help
-version
-jni
-classpath path
Oracle Solarisの場合:
.:your-path
例: .:/home/avh/classes:/usr/local/java/classes
Windowsの場合:
.;your-path
例: .;C:\users\dac\classes;C:\tools\java\classes
便宜上、*のベース名を含むクラス・パス要素は、.jarまたは.JARを拡張子に持つディレクトリ内のすべてのファイルのリストを指定するのと同等とみなされます。
たとえば、ディレクトリmydirにa.jarとb.JARが含まれている場合、クラス・パス要素mydir/*はA.jar:b.JARに展開されますが、JARファイルの順番は未指定となります。このリストには、隠しファイルも含め、指定されたディレクトリ内のすべてのJARファイルが含まれます。*からなるクラス・パス・エントリは、現在のディレクトリ内のすべてのJARファイルのリストに展開されます。CLASSPATH環境変数も、定義時には同様に展開されます。クラス・パスのワイルドカードの展開は、Java Virtual Machine (JVM)の開始前に行われます。Javaプログラムは、環境を問い合せる場合を除き、展開されていないワイルドカードを参照しません。たとえば、System.getenv("CLASSPATH")をコールして問い合せる場合です。
-bootclasspath path
-old
-force
-Joption