README

Java™ Platform, Standard Edition 7
Development Kit

JDK™ 7

Contents

Introduction

Thank you for downloading this release of the Java Platform, Standard Edition Development Kit (JDK). The JDK is a development environment for building applications, applets, and components using the Java programming language.
The JDK includes tools useful for developing and testing programs written in the Java programming language and running on the Java platform.

System Requirements & Installation

System requirements, installation instructions and troubleshooting tips are located on the Java Platform web site at:
Installation Instructions

JDK Documentation

The on-line Java Platform, Standard Edition (Java SE) Documentation contains API specifications, feature descriptions, developer guides, reference pages for JDK tools and utilities, demos, and links to related information. The Java SE documentation is also available in a download bundle which you can install on your machine. To obtain the documentation bundle, see the download page. For API documentation, refer to the The Java Platform, Standard Edition API Specification. This documentation provides brief descriptions of the API with an emphasis on specifications, not on code examples.

Release Notes

See the Release Notes on the Java Platform web site for additional information pertaining to this release. Please check the on-line release notes occasionally for the latest information as they will be updated as needed.

Compatibility

See Compatibility with Previous Releases on the Java Platform web site for the list of known compatibility issues. Every effort has been made to support programs written for previous versions of the Java platform. Although some incompatible changes were necessary, most software should migrate to the current version with no reprogramming. Any failure to do so is considered a bug, except for a small number of cases where compatibility was deliberately broken, as described on our compatibility web page. Some compatibility-breaking changes were required to close potential security holes or to fix implementation or design bugs.

Bug Reports and Feedback

The JDK Bug Database web site lets you search for and examine existing bug reports, submit your own bug reports, and tell us which bug fixes matter most to you. To directly submit a bug or request a feature, fill out this form:
http://bugreport.sun.com/bugreport/
You can send feedback to the Java SE documentation team
Note - Please do not seek technical support through the Bug Database or our development teams. For support options, see Support and Services on Oracle Support web site.

Contents of the JDK

This section contains a general summary of the files and directories in the JDK. For details on the files and directories, see the File Structure section of the Java SE documentation for your platform.
Development Tools
(In the bin/ subdirectory) Tools and utilities that will help you develop, execute, debug, and document programs written in the Java programming language. For further information, see the tools documentation.

Runtime Environment
(In the jre/ subdirectory) An implementation of the Java Runtime Environment (JRE) for use by the JDK. The JRE includes a Java Virtual Machine (JVM™), class libraries, and other files that support the execution of programs written in the Java programming language.

Additional Libraries
(In the lib/ subdirectory) Additional class libraries and support files required by the development tools.

Java DB
(In the db/ subdirectory) Java DB, Oracle's distribution of the Apache Derby relational database. For further information, see the documentation.

C header Files
(In the include/ subdirectory) Header files that support native-code programming using the Java Native Interface, the JVM Tool Interface, and other functionality of the Java platform.

Source Code
(In src.zip) Java programming language source files for all classes that make up the Java core API (that is, sources files for the java.*, javax.* and some org.* packages, but not for com.sun.* packages). This source code is provided for informational purposes only, to help developers learn and use the Java programming language. These files do not include platform-specific implementation code and cannot be used to rebuild the class libraries. To extract these file, use any common zip utility. Or, you may use the Jar utility in the JDK's bin/ directory:

jar xvf src.zip

JavaFx Tools
Various tools specific to JavaFX are included.

JavaFX packaging tool
bin/javafxpackager.exe
Documentation for JavaFX packager
man/man1/javafxpackager.1 [Mac OS X, Linux]
man/ja_JP.UTF-8/man1/javafxpackager.1 [Linux]
JavaFX packager ant tasks
lib/ant-javafx.jar
JavaFX doclet for javadoc
lib/javafx-doclet.jar
JavaFX support jar for JMX
lib/javafx-mx.jar

The Java™ Runtime Environment (JRE™)

The Java Runtime Environment (JRE) is available as a separately downloadable product. See the download web site.
The JRE allows you to run applications written in the Java programming language. Like the JDK, it contains the Java Virtual Machine (JVM), classes comprising the Java platform API, and supporting files. Unlike the JDK, it does not contain development tools such as compilers and debuggers.
You can freely redistribute the JRE with your application, according to the terms of the JRE license. Once you have developed your application using the JDK, you can ship it with the JRE so your end-users will have a Java platform on which to run your software.

Redistribution


NOTE - The license for this software does not allow the redistribution of beta and other pre-release versions.
You may reproduce and distribute the Software (and also portions of Software identified below as Redistributable), provided that you comply with the terms and conditions of the Oracle Binary Code License Agreement for the Java SE Platform Products.
The term "vendors" used here refers to licensees, developers, and independent software vendors (ISVs) who license and distribute the Java Runtime Environment (JRE) with their programs.
Vendors must follow the terms of the Oracle Binary Code License Agreement for the Java SE Platform Products.

Required vs. Optional Files

The files that make up the Java Runtime Environment (JRE) are divided into two categories: required and optional. Optional files may be excluded from redistributions of the JRE at the vendor's discretion.
The following section contains a list of the files and directories that may optionally be omitted from redistributions of the JRE. All files not in these lists of optional files must be included in redistributions of the JRE.

Optional Files and Directories

On JDK installations, the JRE directory, containing the redistributable portions, is located in the jdk1.7.0_<version>/jre directory, where <version> is the update version number.
Solaris™ and Linux filenames and separators are shown. Windows executables have the ".exe" suffix. Corresponding files with _g in the name can also be excluded. The corresponding man pages should be excluded for any excluded executables (with paths listed below beginning with bin/, for the Solaris Operating System and Linux).
The following files and directories may be optionally excluded from redistributions.
bin/server/* [Microsoft Windows. Available on JDK only, not on JRE]
On Microsoft Windows platforms, the JDK includes both the Java HotSpot™ Server VM and Java HotSpot™ Client VM. However, the JRE for Microsoft Windows platforms includes only the Java HotSpot Client VM.

dtplugin/* [Microsoft Windows]
Deployment Toolkit
plugin2/* [Microsoft Windows]
Java Plugin - for accessing java through a webbrowser

bin/rmid
Java RMI Activation System Daemon

bin/rmiregistry
Java Remote Object Registry

bin/tnameserv
Java IDL Name Server

bin/keytool
Key and Certificate Management Tool

bin/kinit [Microsoft Windows]
Used to obtain and cache Kerberos ticket-granting tickets

bin/klist [Microsoft Windows]
Kerberos display entries in credentials cache and keytab

bin/ktab [Microsoft Windows]
Kerberos key table manager

bin/policytool
Policy File Creation and Management Tool

bin/orbd
Object Request Broker Daemon

bin/servertool
Java IDL Server Tool

bin/javaws, and lib/javaws.jar
Java Web Start

jre/lib/cmm/PYCC.pf [Available on JDK only, not on JRE]
Color profile. This file is required only if one wishes to convert between the PYCC color space and another color space.

jre/lib/ext/
sunjce_provider.jar, sunec.jar, and sunpkcs11.jar  -JCE providers for Java Cryptography APIs
localedata.jar - contains many of the resources needed for non US English locales
dnsns.jar - for the InetAddress wrapper of JNDI DNS provider

lib/fonts/*
Font Files

lib/deploy/*

JavaFX related files

THIRDPARTYLICENSEREADME-JAVAFX.txt
JavaFX third-party license information. Can only be excluded if all other JavaFX related files are also excluded.

lib/javafx.properties
JavaFX properties file
lib/jfxrt.jar
JavaFX runtime jar file
lib/security/javafx.policy
JavaFX policy file

JavaFX native libraries [Microsoft Windows]
bin/decora-sse.dll
bin/fxplugins.dll
bin/glass.dll
bin/glib-lite.dll
bin/gstreamer-lite.dll
bin/javafx-font.dll
bin/javafx-iio.dll
bin/jfxmedia.dll
bin/jfxwebkit.dll
bin/libxml2.dll
bin/libxslt.dll

JavaFX native libraries [Mac OS X]
lib/fxplugins.dylib
lib/libdecora-sse.dylib
lib/libglass.dylib
lib/libglib-2.0.0.dylib
lib/libgstplugins-lite.dylib
lib/libgstreamer-lite.dylib
lib/libjavafx-font.dylib
lib/libjavafx-iio.dylib
lib/libjfxmedia.dylib
lib/libjfxwebkit.dylib
lib/libprism-es2.dylib

JavaFX native libraries [Linux-i586]
lib/i386/fxavcodecplugin-52.so
lib/i386/fxavcodecplugin-53.so
lib/i386/fxplugins.so
lib/i386/libglass.so
lib/i386/libgstplugins-lite.so
lib/i386/libgstreamer-lite.so
lib/i386/libjavafx-font.so
lib/i386/libjavafx-iio.so
lib/i386/libjfxmedia.so
lib/i386/libjfxwebkit.so
lib/i386/libprism-es2.so

JavaFX native libraries [Linux-x64]
lib/amd64/fxavcodecplugin-52.so
lib/amd64/fxavcodecplugin-53.so
lib/amd64/fxplugins.so
lib/amd64/libglass.so
lib/amd64/libgstplugins-lite.so
lib/amd64/libgstreamer-lite.so
lib/amd64/libjavafx-font.so
lib/amd64/libjavafx-iio.so
lib/amd64/libjfxmedia.so
lib/amd64/libjfxwebkit.so
lib/amd64/libprism-es2.so

Redistributable JDK Files

The limited set of files and directories from the JDK listed below may be included in vendor redistributions of the Java Runtime Environment (JRE). They cannot be redistributed separately, and must accompany a JRE distribution. All paths are relative to the top-level directory of the JDK. The corresponding man pages should be included for any included executables (with paths listed below beginning with bin/, for the Solaris Operating System and Linux).
jre/lib/cmm/PYCC.pf
Color profile. This file is required only if one wishes to convert between the PYCC color space and another color space.

All .ttf font files in the jre/lib/fonts/ directory.
Note that the LucidaSansRegular.ttf font is already contained in the JRE, so there is no need to bring that file over from the JDK.

The javac bytecode compiler, consisting of the following files:
bin/javac [Solaris Operating System and Linux]
bin/sparcv9/javac [Solaris Operating System (SPARC(R) Platform Edition)]
bin/amd64/javac [Solaris Operating System (AMD)]
bin/javac.exe [Microsoft Windows]
lib/tools.jar [All platforms]

The Annotation Processing Tool, consisting of the following files:
bin/apt [Solaris Operating System and Linux]
bin/sparcv9/apt [Solaris Operating System (SPARC(R) Platform Edition)]
bin/amd64/apt [Solaris Operating System (AMD)]
bin/apt.exe [Microsoft Windows]

lib/jconsole.jar
The Jconsole application.

jre\bin\server\
On Microsoft Windows platforms, the JDK includes both the Java HotSpot™ Server VM and Java HotSpot™ Client VM. However, the JRE for Microsoft Windows platforms includes only the Java HotSpot™ Client VM. Those wishing to use the Java HotSpot Server VM with the JRE may copy the JDK's jre\bin\server folder to a bin\server directory in the JRE. Software vendors may redistribute the Java HotSpot Server VM with their redistributions of the JRE.

bin/jarsigner
JAR Signing and verification tool.

src.zip
Archive of source files

Unlimited Strength Java Cryptography Extension

Due to import control restrictions for some countries, the Java Cryptography Extension (JCE) policy files shipped with the JDK and the JRE allow strong but limited cryptography to be used. These files are located at:

<java-home>/lib/security/local_policy.jar
<java-home>/lib/security/US_export_policy.jar

where <java-home> is the jre directory of the JDK or the top-level directory of the JRE.
An unlimited strength version of these files indicating no restrictions on cryptographic strengths is available on the JDK web site for those living in eligible countries. Those living in eligible countries may download the unlimited strength version and replace the strong cryptography jar files with the unlimited strength files.

The cacerts Certificates File

Root CA certificates may be added to or removed from the Java SE certificate file located at:
<java-home>/lib/security/cacerts
For more information, see The cacerts Certificates File section in the keytool documentation.

Java Endorsed Standards Override Mechanism

From time to time it is necessary to update the Java platform in order to incorporate newer versions of standards that are created outside of the Java Community ProcessSM (JCPSM http://www.jcp.org/ ) (Endorsed Standards), or in order to update the version of a technology included in the platform to correspond to a later standalone version of that technology (Standalone Technologies).
The Endorsed Standards Override Mechanism provides a means whereby later versions of classes and interfaces that implement Endorsed Standards or Standalone Technologies may be incorporated into the Java Platform.
For more information on the Endorsed Standards Override Mechanism, including the list of platform packages that it may be used to override, see
http://docs.oracle.com/javase/7/docs/technotes/guides/standards/

Web Pages

For additional information, refer to these Oracle pages on the World Wide Web:
http://www.oracle.com/technetwork/java/
The Java Platform web site, with the latest information on Java technology, product information, news, and features.
http://docs.oracle.com/javase/7/docs/
Java platform Documentation provides access to white papers, the Java Tutorial and other documents.
http://www.oracle.com/technetwork/java/
Developer Services web site (Free registration required). Additional technical information, news, and features; user forums; support information, and much more.
http://www.oracle.com/technetwork/java/
Java Technology Products & API

The Java™ Development Kit (JDK™) is a product of Oracle.