README JavaTM2 SDK, Standard Edition Version 1.4.2

* Disclaimer - this text represents the contents of the README.html file included in Java 2 SDK, Standard Edition, 1.4.2_10.  As these contents are dated, some links may no longer be valid.

Introduction

Thank you for downloading this release of the JavaTM2 SDK, Standard Edition. The Java 2 SDK is a development environment for building applications, applets, and components using the Java programming language.

The Java 2 SDK includes tools useful for developing and testing programs written in the Java programming language and running on the Java platform. These tools are designed to be used from the command line. Except for the appletviewer, these tools do not provide a graphical user interface.

System Requirements & Installation

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

  • Java 2 SDK, Standard Edition, v 1.4.2 Installation Instructions

Java 2 SDK Documentation

The on-lineJava 2 Platform Documentationcontains API specifications, feature descriptions, developer guides, reference pages for SDK tools and utilities, demos, and links to related information. This 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 following sources:

  • The Java 2 Platform API SpecificationThis provides brief descriptions of the API with an emphasis on specifications, not on code examples.
  • The Java Class Libraries, Second Edition, published by Addison-Wesley Longman as part of The Java Series. These volumes include much more elaborate descriptions, with definitions of terminology and examples for classes, interfaces and members in ten core packages.

Release Notes

See theRelease Noteson the Java Software web site for additional information pertaining to this release. The on-line release notes will be updated as needed, so you should check it occasionally for the latest information.

Compatibility

See Compatibility with Previous Releases on the Java Software web site for the list of known compatibility issues. Every effort has been made to support programs written for previous version of the Java platform. Although some incompatible changes were necessary, most software should migrate to 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

TheBug Parade Web Pageon the Java Developer Connection 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

Report a Bug

.

Note- You should not seek technical support from Bug Parade or our development teams. For support options, see Support and Serviceson the Java Software web site.

Contents of the Java 2 SDK

This section contains a general summary of the files and directories in the Java 2 SDK. For details on the files and directories.

Development Tools

(In the binsubdirectory.) Tools and utilities that will help you develop, execute, debug, and document programs written in the Java programming language. For further information.

Runtime Environment

(In the jresubdirectory.) An implementation of the Java 2 runtime environment for use by the SDK. The runtime environment includes a Java virtual machine, class libraries, and other files that support the execution of programs written in the Java programming language.

Additional Libraries

(In the libsubdirectory.) Additional class libraries and support files required by the development tools.

Demo Applets and Applications

(In the demosubdirectory.) Examples, with source code, of programming for the Java platform. These include examples that use Swing and other Java Foundation Classes, and the Java Platform Debugger Architecture.

C header Files

(In the includesubdirectory.) Header files that support native-code programming using theJava Native Interface, theJava Virtual Machine Profiler Interfaceand other functionality of the Java 2 Platform.

Source Code

(In src.zip.) Java programming language source files for all classes that make up the Java 2 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 Java 2 SDK's bindirectory:

jar xvf src.zip

The Java 2 Runtime Environment

The Java 2 Runtime Environment is available as a separately downloadable product. See the download web site.

The Java 2 Runtime Environment allows you to run applications written in the Java programming language. Like the Java 2 SDK, it contains the Java virtual machine, classes comprising the Java 2 Platform API, and supporting files. Unlike the Java 2 SDK, it does not contain development tools such as compilers and debuggers.

You can freely redistribute the Java 2 Runtime Environment with your application, according to the terms of the Runtime Environment's license. Once you have developed your application using the Java 2 SDK, you can ship it with the Runtime Environment so your end-users will have a Java platform on which to run your software.

Redistribution

Subject to the terms and conditions of the Software License Agreement and the obligations, restrictions, and exceptions set forth below, You may reproduce and distribute the Software (and also portions of Software identified below as Redistributable), provided that:

  1. you distribute the Software complete and unmodified and only bundled as part of Your applets and applications ("Programs"),
  2. your Programs add significant and primary functionality to the Software,
  3. your Programs are only intended to run on Java-enabled general purpose desktop computers and servers,
  4. you distribute Software for the sole purpose of running your Programs,
  5. you do not distribute additional software intended to replace any component(s) of the Software,
  6. you do not remove or alter any proprietary legends or notices contained in or on the Software,
  7. you only distribute the Software subject to a license agreement that protects Sun's interests consistent with the terms contained in this Agreement, and
  8. you agree to defend and indemnify Sun and its licensors from and against any damages, costs, liabilities, settlement amounts and/or expenses (including attorneys' fees) incurred in connection with any claim, lawsuit or action by any third party that arises or results from the use or distribution of any and all Programs and/or Software.

The term "vendors" used here refers to licensees, developers, and independent software vendors (ISVs) who license and distribute the Java 2 SDK, Standard Edition, with their programs.

Vendors must follow the terms of the Java 2 SDK, Standard Edition, Binary Code License agreement.

Required vs. Optional Files

The files that make up the Java 2 SDK, Standard Edition, are divided into two categories: required and optional. Optional files may be excluded from redistributions of the Java 2 SDK 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 Java 2 SDK. All files not in these lists of optional files must be included in redistributions of the Java 2 SDK.

Optional Files and Directories

The following files may be optionally excluded from redistributions:

jre/lib/charsets.jar

Character conversion classes

jre/lib/ext/

sunjce_provider.jar- the SunJCE provider for Java Cryptography APIs

localedata.jar- contains many of the resources needed for non US English locales

ldapsec.jar- contains security features supported by the LDAP service provider

dnsns.jar- for the InetAddress wrapper of JNDI DNS provider

bin/rmidand jre/bin/rmid

Java RMI Activation System Daemon

bin/rmiregistryand jre/bin/rmiregistry

Java Remote Object Registry

bin/tidservand jre/bin/tidserv

Java IDL id Server

bin/keytooland jre/bin/keytool

Key and Certificate Management Tool

bin/kinitand jre/bin/kinit

Used to obtain and cache Kerberos ticket-granting tickets

bin/klistand jre/bin/klist

Kerberos display entries in credentials cache and keytab

bin/ktaband jre/bin/ktab

Kerberos key table manager

bin/policytooland jre/bin/policytool

Policy File Creation and Management Tool

bin/orbdand jre/bin/orbd

Object Request Broker Daemon

bin/servertooland jre/bin/servertool

Java IDL Server Tool

src.zip

Archive of source files

In addition, the Java Web Start product may be excluded from redistributions. The Java Web Start product is contained in a file idd javaws-1_2-solaris-sparc-i.zip, javaws-1_2-solaris-i586-i.zip, javaws-1_2-linux-i586-i.zip, or javaws-1_2-windows-i586-i.exe, depending on the platform.

Unlimited Strength Java Cryptography Extension

Due to import control restrictions for some countries, the Java Cryptography Extension (JCE) policy files shipped with the Java 2 SDK, Standard Edition and the Java 2 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 jredirectory of the Java 2 SDK or the top-level directory of the Java 2 Runtime Environment.

An unlimited strength version of these files indicating no restrictions on cryptographic strengths is available on the Java 2 SDK 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.

Endorsed Standards Override Mechanism

An endorsed standard is a Java API defined through a standards process other than the Java Community ProcessSM(JCPSM). Because endorsed standards are defined outside the JCP, it is anticipated that such standards will be revised between releases of the Java 2 Platform. In order to take advantage of new revisions to endorsed standards, developers and software vendors may use the Endorsed Standards Override Mechanism to provide newer versions of an endorsed standard than those included in the Java 2 Platform as released by Sun Microsystems.

For more information on the Endorsed Standards Override Mechanism, including the list of platform packages that it may be used to override

Classes in the packages listed on that web page may be replaced only by classes implementing a more recent version of the API as defined by the appropriate standards body.

In addition to the packages listed in the document at the above URL, which are part of the Java 2 Platform, Standard Edition (J2SETM) specification, redistributors of Sun's J2SE Reference Implementation are allowed to override classes whose sole purpose is to implement the functionality provided by public APIs defined in these Endorsed Standards packages. Redistributors may also override classes in the org.w3c.dom.*packages, or other classes whose sole purpose is to implement these APIs.