README Java™ Platform, Standard Edition Runtime Environment Version 8

The Java™ Platform, Standard Edition Runtime Environment (JRE) is intended for software developers and vendors to use with their applications.

The Java SE Runtime Environment contains the Java virtual machine, runtime class libraries, and Java application launcher that are necessary to run programs written in the Java programming language. It is not a development environment and does not contain development tools such as compilers or debuggers. For development tools, see the Java SE Development Kit (JDK™).

Deploying Applications with the Java SE Runtime Environment

When you deploy an application written in the Java programming language, your software bundle will probably consist of the following parts:

  • Your own class, resource, and data files.
  • A runtime environment.
  • An installation procedure or program.

You already have the first part, of course. The remainder of this document covers the other two parts. Also see the Developers website:

http://www.oracle.com/java/technologies/

Runtime Environment

To run your Java 8 application, a user needs the Java SE 8 Runtime Environment, which is available from Oracle under the Oracle Technology Network License Agreement for Oracle Java SE, which is free for personal use, development, testing, prototyping and some other important use cases covered in this FAQ. Or, you can redistribute the Java SE 8 Runtime Environment via an ISV agreement with Oracle (Contact Oracle Sales for more information).

The final step in the deployment process occurs when the software is installed on an individual user's system. Installation consists of copying software onto the user's system, then configuring the user's system to support that software. You should ensure that your installation procedure does not overwrite existing JRE installations, as they may be required by other applications.

Redistribution of the Java SE Runtime Environment (JRE)

NOTE - The license for this software does not allow the redistribution of beta and other pre-release versions.

Current releases of the Oracle Java SE 8 Runtime Environment require a commercial license for redistribution. Legacy releases were licensed differently. Please see this FAQ for more information.

Required vs. Optional Files

The files that make up the Java SE Runtime Environment are divided into two categories: required and optional. Optional files may be excluded from redistributions of the Java SE Runtime Environment at the vendor's discretion.

The following section contains a list of the files and directories that may optionally be omitted from redistributions with the Java SE Runtime Environment. All files not in these lists of optional files must be included in redistributions of the runtime environment.

Optional Files and Directories

The following files may be optionally excluded from redistributions. These files are located in the jre1.8.0_<version> 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).

  lib/ext/ [Everything under this directory can be excluded]

      sunjce_provider.jar,sunec.jar, sunpkcs11.jar and sunmscapi.jar - 
  
      JCA/JCE providers for Java Cryptography APIs. Some providers are 
            not available on all OS or Architectures. The runtime environment 
            must contain at least one implementation of each of the required 
            Security algorithms as described in:
  
      http://docs.oracle.com/javase/8/docs/technotes/guides/
      security/StandardNames.html
         
            localedata.jar  - contains many of the resources needed for  
                  non US English locales
            dnsns.jar       - for the InetAddress wrapper of 
                              JNDI DNS provider

   bin/rmid        - [.exe, and .dll on Microsoft Windows] 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
   
   lib/jfr and 
   lib/jfr.jar     - Flight Recorder Files

   lib/oblique-fonts/*
   lib/desktop/*
   plugin/*

When redistributing the JRE on Microsoft Windows as a private application runtime (not accessible by other applications) with a custom launcher, the following files are also optional. These are libraries and executables that are used for Java support in Internet Explorer and Mozilla family browsers; these files are not needed in a private JRE redistribution.

  bin\java.exe

    bin\javaw.exe
    bin\javaws.exe
    bin\javacpl.exe
    bin\jucheck.exe
    bin\dtplugin
    bin\jabswitch.exe
    bin\java_crw_demo.dll
    bin\JavaAccessBridge-32.dll
    bin\JavaAccessBridge.dll
    bin\JAWTAccessBridge-32.dll
    bin\JAWTAccessBridge.dll
    bin\WindowsAccessBridge-32.dll
    bin\WindowsAccessBridge.dll
    bin\wsdetect.dll
    bin\dtplugin\*
    bin\plugin2\*
    bin\deploy.dll
    bin\jfr.dll
    bin\javacpl.cpl
    lib\deploy.jar
    lib\plugin.jar
    lib\deploy\*

All JavaFX-related files may be excluded from redistribution.

All JavaFX related files:

THIRDPARTYLICENSEREADME-JAVAFX.txt

 [As long as you don't include any other JavaFX related files]
                     - JavaFX third-party license information
 lib/ant-javafx.jar        - JavaFX packager ant tasks
 lib/javafx.properties     - JavaFX properties file

 lib/jfxswt.jar
 
 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_font_t2k.dll
 bin\javafx-iio.dll
 bin\jfxmedia.dll
 bin\jfxwebkit.dll
 bin\prism_common.dll
 bin\prism-d3d.dll
 bin\prism_es2.dll
 bin\prism_sw.dll

 JavaFX native libraries [Mac OS X]:
 lib/fxplugins.dylib
 lib/libdecora_sse.so   
 lib/libdecora-sse.dylib
 lib/libfxplugins.so 
 lib/libglass.dylib
 lib/libglib-lite.dylib
 lib/libgstreamer-lite.dylib
 lib/libjavafx_font_t2k.dylib   
 lib/libjavafx-font.dylib
 lib/libjavafx-iio.dylib
 lib/libjfxmedia.dylib
 lib/libjfxwebkit.dylib
 lib/libprism_common.dylib   
 lib/libprism_sw.dylib  
 lib/libprism-es2.dylib

 JavaFX native libraries [Linux-i586]:
 lib/i386/libdecora_sse.so   
 lib/i386/libfxplugins.so  
 lib/i386/libglass.so
 lib/i386/libgstreamer-lite.so
 lib/i386/libjavafx_font_freetype.so
 lib/i386/libjavafx_font_pango.so
 lib/i386/libjavafx_font_t2k.so
 lib/i386/libjavafx-font.so
 lib/i386/libjavafx-iio.so
 lib/i386/libjfxmedia.so
 lib/i386/libjfxwebkit.so
 lib/i386/libprism_common.so
 lib/i386/libprism_es2.so
 lib/i386/libprism_sw.so

 JavaFX native libraries [Linux-x64]:
 lib/amd64/libdecora_sse.so   
 lib/amd64/libprism_common.so
 lib/amd64/libprism_es2.so
 lib/amd64/libprism_sw.so
 lib/amd64/libfxplugins.so  
 lib/amd64/libglass.so  
 lib/amd64/libgstreamer-lite.so  
 lib/amd64/libjavafx_font_freetype.so
 lib/amd64/libjavafx_font_pango.so
 lib/amd64/libjavafx_font_t2k.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 from the Java SE Development Kit (JDK) listed below may be included in vendor redistributions of the Java SE Runtime Environment. 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).

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 lib/fonts directory
                        Note that the LucidaSansRegular.ttf font is already 
                        contained in the Java SE Runtime Environment, 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, Linux and OS X]
      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]
 

      lib/jconsole.jar  The Jconsole application.
      bin\server\       On Microsoft Windows platforms, the JDK includes both
                        the Java HotSpot™ Server VM and Java HotSpot 
                        Client VM. However, the Java SE Runtime Environment 
                        for Microsoft Windows platforms includes only the 
                        Java HotSpot Client VM. Those wishing to use the 
                        Java HotSpot Server VM with the Java SE Runtime
                        Environment may copy the JDK's jre\bin\server folder 
                        to a bin\server directory in the Java SE Runtime 
                        Environment. Software vendors may redistribute the 
                        Java HotSpot Server VM with their redistributions of 
                        the Java SE Runtime Environment.

Unlimited Strength Java Cryptography Extension

Due to import control restrictions for some countries, the Java Cryptography Extension (JCE) policy files shipped with the Java SE Development Kit and the Java SE Runtime Environment 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 Java SE Runtime Environment.

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.

Configuration

Configuring the JRE or JDK is not considered a modification for redistribution purposes. You may configure the software by modifying the files under the <java-home>/lib/ directory as per the Java Platform, Standard Edition (Java SE) Documentation, including selecting one or creating your own Java Cryptography Extension policy file under <java-home>/lib/security/policy. Once you select or create your own you are not required to include alternative policy files.

You may update the Timezone data included in the Java Runtime Environment by using the Java Time Zone Updater tool available in the Java SE Downloads page.

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 at:

http://docs.oracle.com/javase/8/docs/technotes/guides/security

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/8/docs/technotes/guides/standards