JDK and JRE File Structure

This page provides an introductory overview of the JDK directories and the files they contain. Note that the file structure of the JRE is identical to that of the JDK's  jre directory.

Development Files and Directories

This section describes the most important files and directories required to develop applications for the Java platform.

(Note that some of the directories that are not required include Java source code and C header files. These are mentioned in the Additional Files and Directories section.)

Assuming the JDK software is installed at  c:\jdk1.7.0, here are some of the most important directories:

Root directory of the JDK software installation. Contains copyright, license, and README files. Also contains src.zip, the archive of source code for the Java platform.
Executable files for the development tools contained in the Java Development Kit. The PATH environment variable should contain an entry for this directory. For more information on the tools, see the JDK Tools.
Files used by the development tools. These include the following:
  • tools.jar: Contains non-core classes for support of the tools and utilities in the JDK
  • dt.jar: DesignTime archive of BeanInfo files that tell interactive development environments (IDEs) how to display the Java components and how to let the developer customize them for an application
  • ant-javafx.jar: Contains Ant tasks for packaging JavaFX applications; see Packaging in Deploying JavaFX Applications
Root directory of the Java runtime environment used by the JDK development tools. The runtime environment is an implementation of the Java platform. This is the directory represented by the java.home system property.
Executable files and DLLs for tools and libraries used by the Java platform. The executable files are identical to files in /jdk1.7.0/bin. The java launcher tool serves as an application launcher (and replaced the old jre tool that shipped with 1.1 versions of the JDK). This directory does not need to be in the PATH environment variable.
Contains the DLL files used by the Java HotSpot™ Client Virtual Machine.
Contains the DLL files used by the Java HotSpot™ Server Virtual Machine.
Code libraries, property settings, and resource files used by the Java runtime environment. For example:
  • rt.jar: Bootstrap classes (the RunTime classes that comprise the Java platform's core API)
  • charsets.jar: Character conversion classes
  • jfxrt.jar: JavaFX runtime libraries
Aside from the ext subdirectory (described below) there are several additional resource subdirectories not described here.
Default installation directory for Extensions to the Java platform.
  • localedata.jar -- locale data for java.text and java.util.
Contains files used for security management. These include the security policy (java.policy) and security properties (java.security) files.
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 the local file system by the applet class loader, providing the same protections as if they had been downloaded over the net.
Contains TrueType font files for use by the platform.

Additional Files and Directories

This section describes additional files and directories.

Archive containing source code for the Java platform.
Contains Java DB.
C-language header files that support native-code programming using the Java Native Interface and the Java Virtual Machine Debugger Interface.

Note: Demos and samples that show you how to program for the Java platform are available as a separate download at Java SE Downloads. These demos and samples are available as .zip files.

Copyright © 1993, 2020, Oracle and/or its affiliates. All rights reserved.