
                             README

                  The Java(tm) Runtime Environment
                          JRE 1.1.1 

-----------------------------------------------------------------------
CONTENTS


  Overview of Java Runtime
    - Introduction
    - Bin and Lib Directories
    - Required vs. Optional Files
    - Win 32 Files 
       - Required Files
       - Optional Files
    - Solaris Files 
       - Required Files
       - Optional Files

  Bundling and Running the Java Runtime
    - Bundling the Java Runtime
    - Java Runtime Example
    - Runtime Documentation


=======================================================================
                        OVERVIEW OF JAVA RUNTIME
=======================================================================

-----------------------------------------------------------------------
INTRODUCTION
-----------------------------------------------------------------------

This is version 1.1.1 of the Java Runtime Environment, also known as 
the Java Runtime, or JRE.  The Java Runtime is the minimum standard
Java Platform for running Java programs.  It contains the Java 
Virtual Machine, Java Core Classes and supporting files. 

This document uses the term "vendors" to refer to licensees, 
developers, and independent software vendors (ISVs) who 
license and distribute the JRE with their Java programs.

The JRE is intended for vendors who want to bundle a Java runtime
system with their Java programs.  The JRE does not have the installers 
or instructions necessary for distribution directly to end-users -- 
that will come in a later version.  

The JRE includes all of the non-debuggable .dll or .so files plus
the necessary classes from the JDK 1.1.1 to support a runtime-only 
program.  The JRE does not include any of the development tools
(such as appletviewer or javac) or classes that would pertain only 
to a development system.

Vendors must follow the terms of the JRE Binary Code License agreement, 
which includes these terms:

 - Don't arbitrarily subset the JRE. You may omit only the
   files listed below as optional. 

 - Include in your product's license the provisions called out
   in the JRE Binary Code License.
    
The JRE is a product of Sun Microsystems, Inc.  
JavaSoft is an operating company of Sun, and develops the JRE.


-----------------------------------------------------------------------
REQUIRED vs. OPTIONAL FILES
-----------------------------------------------------------------------

Licensees must follow the terms of the accompanying LICENSE.  
The files that make up the JRE are divided into two categories:
required and optional.  To paraphrase that license, files that 
are marked "optional" here do not need to be included with the 
licensee's program.

The term "required" means licensees who distribute the runtime 
must include those files with their program, whether or not 
their program ever uses those files.  Those files are a 
required part of the Java Platform.

In general, the optional files provide localization support for
languages.

The JRE includes the bin and lib directories which both must
reside in the same directory.  We call this directory <runtime-dir>.

In the following lists, all paths are relative to the <runtime-dir>
directory (which is originally "jre1.1.1").

-----------------------------------------------------------------------
WIN32 FILES
-----------------------------------------------------------------------

The following is a complete list of files included with the JRE 1.1.1 
for Win32.  

REQUIRED FILES --------------------------------------------------------

   The Win32 bin directory contains the executables and native libraries:

   bin\java.exe                  Java runtime executable
   bin\javaw.exe                 Java runtime executable, no console window
   bin\javai.dll                 Java runtime native code library
   bin\jdbcodbc.dll              native code support for sun.jdbc
   bin\jpeg.dll                  native code support for sun.jpeg
   bin\math.dll                  native code support for java.math
   bin\mmedia.dll                native code support for sun.audio
   bin\net.dll                   native code support for java.net
   bin\sysresource.dll           native code support for sun.net.www.protocol
   bin\winawt.dll                native code support for sun.awt
   bin\zip.dll                   native code support for java.util.zip

   The Win32 lib directory contains the classes and property files:

   lib\rt.jar                    Java runtime core classes
   lib\awt.properties            properties for key events for java.awt
   lib\font.properties           Win32 font properties for java.awt
   lib\serialver.properties      serialization properties
   lib\security\java.security    properties for java.security

OPTIONAL FILES --------------------------------------------------------

The following files are optional, and provide I18N language support for
Java programs:  (I18N means "internationalization")

   lib\i18n.jar                  I18N character conversion classes from sun.io
   lib\content-types.properties  MIME-type properties 
   lib\font.properties.ja        AWT font properties for Japanese locale
   lib\font.properties.ko        AWT font properties for Korean locale
   lib\font.properties.ru        AWT font properties for Russian locale
   lib\font.properties.zh        AWT font properties for Simplified Chinese locale
   bin\msvcrt.dll                native code C runtime library


-----------------------------------------------------------------------
SOLARIS FILES
-----------------------------------------------------------------------

The following is a complete list of files included with the JRE 1.1.1 
for Solaris.  

REQUIRED FILES --------------------------------------------------------

The directory <sys> varies depending on the hardware architecture and
threads implementation. For this release only Solaris/SPARC with Green 
threads is supported, so <sys> should be 'sparc/green_threads'.

   The Solaris bin directory contains the shell scripts and executables:

   bin/java                      Java runtime shell script
   bin/<sys>/java                Java runtime executable

   The Solaris lib directory and its subdirectories contain the 
   classes, properties files and native libraries:

   lib/rt.jar                    Java runtime core classes
   lib/awt.properties            properties for key events for java.awt
   lib/font.properties           Solaris font properties for java.awt
   lib/serialver.properties      serialization properties
   lib/security/java.security    properties for java.security

   lib/<sys>/libjava.so          Java runtime library
   lib/<sys>/libnet.so           native code support for java.net
   lib/<sys>/libmath.so          native code support for java.math
   lib/<sys>/libmmedia.so        native code support for sun.audio
   lib/<sys>/libawt.so           native code support for sun.awt
   lib/<sys>/libjpeg.so          native code support for sun.jpeg
   lib/<sys>/libJdbcOdbc.so      native code support for sun.jdbc
   lib/<sys>/libsysresource.so   native code support for sun.net
   lib/<sys>/libzip.so           native code support for java.util.zip

OPTIONAL FILES --------------------------------------------------------

The following files are optional, and provide non-native language support
for Java programs.

   lib/i18n.jar                  I18N character conversion classes from sun.io
   lib/content-types.properties  MIME-type properties 
   lib/font.properties.cs        AWT font properties for Czech locale
   lib/font.properties.pl        AWT font properties for Polish locale
   lib/font.properties.hu        AWT font properties for Hungarian locale
   lib/font.properties.lt        AWT font properties for Lithuanian locale
   lib/font.properties.lv        AWT font properties for Latvian locale
   lib/font.properties.el        AWT font properties for Greek locale
   lib/font.properties.tr        AWT font properties for Turkish locale
   lib/font.properties.ja        AWT font properties for Japanese locale
   lib/font.properties.ru        AWT font properties for Russian locale
   lib/font.properties.ko        AWT font properties for Korean locale
   lib/font.properties.zh        AWT font properties for Simplified Chinese locale
   lib/font.properties.zh_TW     AWT font properties for Traditional Chinese locale
   lib/<sys>/libXm.so            Symbolic link to Motif runtime library 
   lib/<sys>/libXm.so.3          Motif runtime library

libXm.so.3 is present in Solaris 2.5 and later, so is needed only if the 
ultimate target of your program is to run on Solaris 2.4 or earlier.


=======================================================================
                BUNDLING AND RUNNING THE JAVA RUNTIME
=======================================================================

-----------------------------------------------------------------------
BUNDLING THE JAVA RUNTIME
-----------------------------------------------------------------------

This release of the JRE does not come with an end-user installer 
program.  Vendors must write their own installers.

For this release, we are supporting only Java programs that are
shipped bundled with their own copy of the Java runtime and do 
not share that runtime with other applications.  At this time 
the JRE does not officially support multiple applications sharing 
a single runtime.  Although in principle it is possible for 
applications to share a runtime, we will not support this 
until a future release.

The JRE provides three built-in places to put classes, as shown in 
the diagram below.

   lib/rt.jar         Java runtime core classes that Sun provides
   lib/classes.jar    Vendor-defined classes in jar format
   classes/*.classes  Vendor-defined individual .class files 


                       <runtime-dir>
                   __________|________________
                  |            |              |
                 bin          lib          classes 
                  |        ____|____          |
                          |         |      *.class
                          |         |    
                        rt.jar  classes.jar


The following steps are necessary to set up the JRE 1.1.1 with an 
application:

1) It is suggested that the JRE be installed in its own subdirectory
   (referred to here as <runtime-dir>).  Include all the the required
   files listed above in the bin and lib subdirectories of <runtime-dir>, 
   following the same directory hierarchy and relative placement of 
   files (the default classpath depends on this).  The 
   internationalization files marked optional can be included for
   non-native language support.

2) Place all application-specific classes either as individual .class
   files in the classes directory or zipped up in a file at
   lib/classes.jar.
 
   Both locations are automatically included in the default runtime
   class path, so they will be found even if you do not explicitly set
   the CLASSPATH environment variable. The file 'classes.jar' can be
   created using the JAR tool included with JDK 1.1 or any 
   PKZIP-compatible ZIP archiving tool that supports DEFLATE
   compression, such as InfoZIP or WinZIP.

3) If native code support is required, then the native library must be 
   located in LD_LIBRARY_PATH on Solaris or the executable search PATH 
   on Win32. The best way to do this is to install the native libraries
   in either <runtime-dir>/lib/<sys> on Solaris or <runtime-dir>\bin 
   on Win32.

4) If installing a pure Java application, then use the runtime 
   executable program (<runtime-dir>\bin\java.exe on Windows or 
   <runtime-dir>/bin/java on Solaris) to invoke the application's main 
   class. For example:
   
       <runtime-dir>/bin/java <app-main>
  
   For applications that require the invocation API to start the Java 
   runtime, then it will be necessary to write a custom C wrapper that
   uses the JNI invocation API. Examples of how to do this will be
   provided on our website.


For more information that might be relevant to installing and running
the JRE, refer to the JDK installation instructions:

    http://java.sun.com/products/jdk/1.1/installation-win32-x86.html
    http://java.sun.com/products/jdk/1.1/installation-solaris2.html


Install Limitations ---------------------------------------------------

Current limitations with the JRE 1.1.1 release that will be fixed in an 
upcoming bug-fix release:

-  The Win32 JRE is not immune to environment settings so that problems
   can occur when either CLASSPATH or JAVA_HOME is shared with other
   applications. For now, this can be overridden by using the '-classpath'
   switch when running 'java' or by writing a custom startup program in C
   using JNI.  A future release will be free from environment variable 
   settings and will use the Win32 registry instead.


-----------------------------------------------------------------------
JAVA RUNTIME EXAMPLE
-----------------------------------------------------------------------

The following web page has a Hello World example that you can download 
demonstrating how to create a simple Java application that runs on, 
and is bundled with, the Java Runtime Environment.  
The bundle you download includes the JRE.

     http://java.sun.com/products/jdk/1.1/jre/example/

This example shows how to make a simple, seamless transition
from developing an application with the JDK, to deploying it with 
the more-lightweight JRE.


-----------------------------------------------------------------------
RUNTIME DOCUMENTATION
-----------------------------------------------------------------------

Runtime documentation is any documentation that an end-user might
need after they have installed a Java program that runs on the JRE.

We supply the following runtime documentation:

  - Each property file contains comments that describe what the
    file is useful for and how to modify it.

  - awt.properties file - KeyEvent uses it to print out properties of
    key events, usually for debugging purposes.  This might be used
    by a GUI debugger that needs to print out events.

  - fontprop.html file has a web page describing how to add 
    fonts to the runtime.  This document is part of the 
    JDK documentation, and is located both in the JDK documentation
    download bundle and at the JavaSoft website:

    http://java.sun.com/products/jdk/1.1/docs/guide/intl/fontprop.html


-----------------------------------------------------------------------
Copyright  1997 Sun Microsystems, Inc.
2550 Garcia Ave., Mountain View, CA 94043-1100 USA.
All rights reserved.

