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 Process (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.
Deploying updated packages
Packages to be updated through this mechanism should be placed in JAR
files. The system property java.endorsed.dirs specifies one or more
directories that the Java runtime environment will search for such JAR
files. If more than one directory path is specified by
java.endorsed.dirs, they must be separated by File.pathSeparatorChar.
If no value is set for java.endorsed.dirs, then Sun Microsystem's
implementation of the Java platform looks for JAR files in a default standard
location:
<java-home>\lib\endorsed [Microsoft Windows]
<java-home>/lib/endorsed [Solaris or Linux]
Here <java-home> refers to the directory where the runtime
software is installed (which is the top-level directory of the Java SE Runtime
Environment or the jre directory in the JDK).
The Java SE runtime environment will use classes in such JAR files to
override the corresponding classes provided in the Java platform as it was
shipped.
Endorsed Standards APIs
The Endorsed Standards for Java SE constitute all classes and interfaces that
are defined in the packages listed in this section. Classes and interfaces
defined in sub-packages of listed packages are not Endorsed Standards unless
those sub-packages are themselves listed. The Endorsed Standards Override
Mechanism may be used to override the Java SE platform packages in this list,
and these packages may be overridden only by versions of the Endorsed Standard
that are newer than that provided by the Java platform as released by Sun. With
the exception of packages listed here and the technologies listed in the
Standalone Technologies section below, no other packages from the Java
SE platform API specification may be overridden.
In addition to the packages listed above, which are part of the Java SE
specification, users of Sun's Java SE Reference Implementation are allowed to
use the Endorsed Standards Override Mechanism to override
implementation-specific classes associated with these packages, such as the
org.w3c.dom sub-packages delivered in Sun's Reference Implementation.
Standalone Technologies
The Standalone Technologies for Java SE constitute all classes and interfaces
that are defined and implemented in the technologies listed in this
section. The Endorsed Standards Override Mechanism may be used to override the
Java technologies in this list, and these technologies may be overridden only
by providing a complete and newer implementation of the Standalone Technology
than was provided in the original implementation of the Java Platform. With the
exception of the technologies in this list and the packages listed in the
Endorsed Standards APIs section above, no other packages from the Java
SE platform API specification may be overridden.