This document gives an overview of the Java 2 SDK directories and the files they contain. This page may also be used as
a reference for the file structure of the Java 2 Runtime Environment.
To see the file structure of the Runtime Environment, just look at the
description of the contents of the SDK's jre directory on this
page.
The file structure of the Java 2 Runtime Environment is identical to that
of the SDK's jre directory.
Development Files and Directories
This section describes the files and directories that are required to develop apps for the Java platform. (The
directories that are not required include demos, Java source code, and C header files. They are discussed in the
following section, Additional Files and Directories.) The following chart shows the most
important directories:
Assuming the SDK software is installed at /j2sdk1_3_0, here are some of the most important directories:
/j2sdk1_3_0
The root directory of the SDK software installation. Contains copyright, license, and README files. Also contains src.jar, the archive
of source code for the Java 2 platform.
/j2sdk1_3_0/bin
The executables for all the development tools contained in the Java 2 SDK. The PATH environment
variable should contain an entry for this directory. For more information on the tools, see the SDK
Tools.
/j2sdk1_3_0/lib
Files used by the development tools. Includes tools.jar, which contains non-core classes for support
of the tools and utilities in the SDK. Also includes dt.jar, the DesignTime archive of BeanInfo files
that tell interactive development environments (IDE's) how to display the Java components and how to let the developer
customize them for the application.
/j2sdk1_3_0/jre
The root directory of the Java runtime environment used by the SDK development tools. The runtime environment
is an implementation of the Java 2 platform. This is the directory
referred to by the java.home system property.
/j2sdk1_3_0/jre/bin
Executable files for tools and libraries used by the Java platform. The executable files are identical to files
in /j2sdk1_3_0/bin. The java launcher tool serves as an application launcher, in place of the old
jre tool that shipped with 1.1 versions of the SDK software. This directory does not need to be in the PATH
environment variable.
/j2sdk1_3_0/jre/lib
Code libraries, property settings, and resource files used by the Java runtime environment. Includes:
rt.jar -- the bootstrap classes (the RunTime classes that comprise the Java platform's
core API).
i18n.jar -- the character-conversion classes and other files associated with internationalization
and localization.
Aside from the ext subdirectory (described below) there are several additional resource subdirectories
not described here.
/j2sdk1_3_0/jre/lib/ext
Default installation directory for Extensions
to the Java platform. This is where the JavaHelp jar file goes
when it is installed, for example.
/j2sdk1_3_0/jre/lib/security
Contains files used for security management. These include the security policy (java.policy) and
security properties (java.security) files.
/j2sdk1_3_0/jre/lib/sparc
Contains the .so (shared object) files used by the Solaris version of the Java platform.
/j2sdk1_3_0/jre/lib/sparc/client
Contains the .so file used by the Java HotSpot Client
Virtual Machine. This is the default VM.
/j2sdk1_3_0/jre/lib/sparc/server
Contains the .so file used by the Java HotSpot Server
Virtual Machine.
/j2sdk1_3_0/jre/lib/applet
Jar files containing support classes for applets can be
placed in the lib/applet/ directory.
This reduces startup time for large applets by allowing applet classes
to be pre-loaded from teh local file system by the applet class loader,
providing the same protections as if they had been downloaded over the
net.
Additional Files and Directories
This section describes the directory structure for the demos, Java source code, and C header files. Here is
the directory structure: