JDK のファイル構造

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

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

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

                     jdk1.2
            ___________|____________________
           |           |                    |
          bin         lib                  jre
           |           |          __________|___________
       java.exe    tools.jar     |                      |        
       javac.exe   dt.jar       bin                    lib                
       javap.exe            _____|____          ________|________          
       javah.exe           |          |        |        |        |         
       javadoc.exe     java.exe    classic   rt.jar    ext    security
                       java.dll       |      i18n.jar   |                  
                       awt.dll     jvm.dll            iiimp.jar    

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

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

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

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

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

c:¥jdk1.2¥jre¥bin¥classic
従来の VM が使用する Windows DLL ファイルが入っています。従来の VM とは、言語インタプリタ版の Java Virtual Machine です。新しい VM が利用可能になると、それらが使用する DLL は jre/bin の新しいサブディレクトリにインストールされます。

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

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

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

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

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

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

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

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

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

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

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

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