JDK および JRE のファイル構造

JDK ツール

このページでは、JDK のディレクトリと、それらのディレクトリに含まれているファイルについて概説します。JRE のファイル構造は JDK の jre ディレクトリのファイル構造と同一です。

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

ここでは、Java プラットフォーム用のアプリケーション開発に必要な、もっとも重要なファイルとディレクトリについて説明します。

開発に必要ないディレクトリには、デモ、Java ソースコード、および C のヘッダーファイルが含まれているものがあるので注意してください。これらについては、「その他のファイルとディレクトリ」の節で説明します。

 

          jdk1.6.0
   ___________|_________________
  |           |                 |
 bin         lib               jre
  |           |         ________|__________
java*     tools.jar    |                   |        
javac*    dt.jar      bin                 lib                
javap*                 |       ________ ___|___ _________ ________ _______       
javah*               java*    |        |       |         |        |       |
javadoc*                    rt.jar    ext   security   sparc    applet  fonts
                        charsets.jar   |              /     \
                                  localedata.jar  server  client
                                                            

JDK ソフトウェアは  /jdk1.6.0 にインストールされているものとします。 次に、いくつかの重要なディレクトリについて説明します。

/jdk1.6.0
JDK ソフトウェアがインストールされるルートディレクトリです。著作権、ライセンス、README のファイルが入っています。また、Java プラットフォームのソースコードのアーカイブである  src.zip も入っています。
/jdk1.6.0/bin
JDK に含まれるすべての開発ツールの実行ファイル用ディレクトリです。PATH 環境変数には、このディレクトリのエントリを含めなければなりません。開発ツールの詳細は、「JDK ツール」を参照してください。
/jdk1.6.0/lib
開発ツールによって使用されるファイル用のディレクトリです。JDK のツールとユーティリティーをサポートする、コア以外のクラスのファイルである  tools.jar が含まれます。また、このディレクトリには、BeanInfo ファイル群の DesignTime アーカイブである  dt.jar も入っています。 BeanInfo ファイルは、対話型開発環境 (IDE) に対して、Java コンポーネントを表示する方法や、開発者がコンポーネントをアプリケーションに合わせてカスタマイズする方法を通知するためのものです。
/jdk1.6.0/jre
JDK 開発ツールによって使用される Java Runtime Environment のルートディレクトリです。Runtime Environment は Java プラットフォームの実装です。これは、 java.home システムプロパティーから参照されるディレクトリです。
/jdk1.6.0/jre/bin
Java プラットフォームが使用するツールとライブラリ用の、実行ファイルのディレクトリです。含まれている実行ファイルは /jdk1.6.0/bin 内のファイルと同じです。JDK のバージョン 1.1 に付属していた jre ツールに代わって、 java 起動ツールが、アプリケーション起動ツールとして機能します。このディレクトリは、PATH 環境変数に含める必要がありません。
/jdk1.6.0/jre/lib
Java Runtime Environment が使用するコードライブラリ、プロパティー設定、およびリソースファイルのディレクトリです。例を示します。
このあと説明する ext サブディレクトリのほかにも、ここでは説明しないリソースサブディレクトリがいくつか含まれています。
/jdk1.6.0/jre/lib/ext
Java プラットフォームに対する拡張機能のデフォルトのインストール先ディレクトリです。たとえば JavaHelp の JAR ファイルをインストールすると、このディレクトリに置かれます。
/jdk1.6.0/jre/lib/security
セキュリティー管理に使用されるファイルが入っています。これには、セキュリティーポリシー (.java.policy) やセキュリティープロパティー (java.security) のファイルがあります。
/jdk1.6.0/jre/lib/sparc
Solaris 版の Java プラットフォームが使用する .so (共用オブジェクト) ファイルが含まれています。
/jdk1.6.0/jre/lib/sparc/client
Java HotSpotTM テクノロジを使って実装される Java HotSpotTM Client 仮想マシンが使用する .so ファイルが含まれています。これはデフォルトの VM です。
/jdk1.6.0/jre/lib/sparc/server
Java HotSpotTM Server 仮想マシンが使用する .so ファイルが含まれています。
/jdk1.6.0/jre/lib/applet
アプレットのサポートクラスの入った JAR ファイルは、lib/applet/ ディレクトリに配置できます。このようにすると、アプレットのクラスがアプレットクラスローダによってローカルファイルシステムから事前ロードされるため、大規模なアプレットの起動時間を短縮できます。 また、ネット経由でダウンロードした場合と同様の保護が提供されます。
/jdk1.6.0/jre/lib/fonts
プラットフォームが使用するフォントファイルです。

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

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

                        jdk1.6.0
                 ___________|__________ _________
                |           |          |         |
              demo       include    src.zip     man
             ___|___ _________ __________ ________
            |       |         |          |        |
          applets  jfc       jpda     plugin     jni
       

上記のファイルとディレクトリについて説明します。

/jdk1.6.0/src.zip
Java プラットフォームのソースコードを含むアーカイブです。
/jdk1.6.0/demo
ソースコード付きのサンプルファイルです。Java プラットフォーム用のプログラミングの方法を示しています。
/jdk1.6.0/demo/applets
Web ページ上で使用可能なアプレットです。
/jdk1.6.0/demo/jfc
Java 2DTM および JFC/Swing コンポーネントの使用例です。
/jdk1.6.0/demo/jpda
Java Platform Debugging Architecture の使用例です。javadt および jdb ユーティリティーのソースコードも含まれています。
/jdk1.6.0/demo/plugin
Java Plug-in 製品で使用するデモです。
/jdk1.6.0/demo/jni
Java プラットフォームから poll(2) 機能へのアクセス方法を示す、サンプルクラスと C コードです。
/jdk1.6.0/include
Java Native Interface (JNI) および Java Virtual Machine Debugger Interface (JVMDI) を使用するネイティブコードのプログラミングをサポートする、C 言語のヘッダーファイルです。
/jdk1.6.0/man
JDK ツールのマニュアルページが含まれています。

Copyright © 2004-2006 Sun Microsystems, Inc. All Rights Reserved.

Sun
Java Software