JDK のファイル構造

このドキュメントでは、JDK に含まれるディレクトリとファイルの概要について説明します。

開発用ファイルとディレクトリ

ここでは、Java プラットフォーム用のアプリケーション開発に必要なファイルとディレクトリについて説明します。開発に必要ないファイルには、デモ、Java ソースコード、C のヘッダファイルなどがあります。これらについては、次の「その他のファイルとディレクトリ」で説明します。次の図は、もっとも重要なディレクトリを示します。

                jdk1.2
       ___________|_________________
      |           |                 |
     bin         lib               jre
      |           |         ________|__________
    java*     tools.jar    |                   |        
    javac*    dt.jar      bin                 lib                
    javap*                 |       ________ ___|___ _________         
    javah*               java*    |        |       |         |
    javadoc*                    rt.jar    ext   security   sparc
                                i18n.jar   |              /     ¥
                                         iiimp.jar    classic  green_threads
                                                         |
                                                      libjvm.so

JDK ソフトウェアは /jdk1.2 にインストールされているものとします。以下に、このディレクトリ内の重要なディレクトリとそれが重要な理由について説明します。

/jdk1.2
JDK ソフトウェアがインストールされるルートディレクトリです。著作権、ライセンス、README ファイルに加え、次のファイルが含まれます。
/jdk1.2/bin
Java Development Kit (JDK) に含まれるすべての開発ツールの実行ファイル用ディレクトリです。PATH 環境変数には、このディレクトリのエントリを含めなければなりません。ツールの詳細は、「JDK ツール」を参照してください。

/jdk1.2/lib
開発ツールが使用するファイル用のディレクトリです。JDK のツールとユーティリティをサポートする、コア以外のクラスのファイルである tools.jar が含まれます。また、このディレクトリには、BeanInfo ファイル群の DesignTime アーカイブ、dt.jar も含まれます。BeanInfo ファイルは、対話型開発環境 (IDE) に対し、Java コンポーネントの表示方法や、開発者が環境をアプリケーションに合わせてカスタマイズする方法を通知するためのものです。

/jdk1.2/jre
JDK 開発ツールが使用する Java Runtime Environment のルートディレクトリです。Runtime Environment は Java 1.2 プラットフォームの実装です。これは、実装可能な JRE からドキュメンテーションを除いたものとまったく同じです。

/jdk1.2/jre/bin
Java プラットフォームが使用するツールとライブラリ用の、実行ファイルのディレクトリです。含まれている実行ファイルは /jdk1.2/bin 内のファイルと同じです。JDK 1.1 に付属していた jre ツールに代わって、java 起動ツールがアプリケーション起動ツールとして機能します。このディレクトリは、PATH 環境変数内に指定する必要はありません。

/jdk1.2/jre/lib
Java Runtime Environment が使用するコードライブラリ、プロパティ設定、リソースファイルのディレクトリです。次のファイルが含まれます。
ext サブディレクトリ (次で説明) の他に、ここで説明されていないリソースサブディレクトリがいくつかあります。

/jdk1.2/jre/lib/ext
Java プラットフォーム拡張機能のデフォルトのインストール先ディレクトリです。たとえば JavaHelp の jar ファイルをインストールすると、このディレクトリに置かれます。次のファイルが含まれます。
/jdk1.2/jre/lib/security
セキュリティ管理に使用されるファイルが格納されます。これには、セキュリティポリシー (java.policy) およびセキュリティプロパティ (java.security) ファイルがあります。

/jdk1.2/jre/lib/sparc
Java プラットフォームの Solaris 版で使用される .so (標準オブジェクト) ファイルが格納されます。

/jdk1.2/jre/lib/sparc/classic
「旧バージョンの」VM で使用される .so ファイルが格納されます。旧バージョンの VM とは、Java Virtual Machine の言語インタプリタバージョンです。新バージョンの Virtual Machine が利用できるようになると、その .so ファイルは、jre/lib/sparc の新しいサブディレクトリにインストールされます。

/jdk1.2/jre/lib/sparc/green_threads
マルチスレッドの「グリーン (非ネイティブ) スレッド」バージョンで使用される .so ファイルが格納されます。グリーンスレッドとネイティブスレッドの選択の詳細については、「Solaris マルチスレッドオプション」を参照してください。

その他のファイルとディレクトリ

ここでは、デモ、Java ソースコード、C のヘッダファイルについて説明します。ディレクトリ構造は次のとおりです。

                       jdk1.2
          __________ _____|_____ _____________
         |          |           |             |
       src.jar    demo       include     include-old
                 ___|___
                |       |  
              applets  jfc
                        |
                      Java2D       

上に示したディレクトリについて説明します。

/jdk1.2/demo
ソースコード付きのサンプルファイルです。Java プラットフォーム用のプログラミング方法を示します。

/jdk1.2/demo/applets
Web ページで使用可能なアプレットです。

/jdk1.2/demo/jfc
新しい JFC/Swing コンポーネントを使ったサンプルです。

/jdk1.2/demo/jfc/Java2D
新しい Java 2D グラフィックスを使ったサンプルです。

/jdk1.2/include
Java Native Interface [Web]Java Virtual Machine Debugger Interface (JVMDI) [Web] を使ったネイティブコードのプログラミングをサポートする、C 言語のヘッダファイルです。

/jdk1.2/include-old
従来のインタフェースを使ったネイティブコードのプログラミングをサポートする、ヘッダファイルです。これらのヘッダファイルは、旧バージョンとの互換性のためにだけ提供されています。これらのインタフェースの使用は推奨されておらず、サポート対象外で、すべての Java Virtual Machine で利用できるわけではありません。