JVM系统属性中有两个特殊的属性:
{java.ext.dirs} 可选包扩展机制
{java.endorsed.dirs} 包升级替换机制
相关资料:
http://docs.oracle.com/javase/1.4.2/docs/guide/extensions/spec.html
http://docs.oracle.com/javase/6/docs/technotes/guides/standards/index.html
JVM Endorsed Standards Override Mechanism
Goal
Provide a mechanism to override certain classes included in J2SE platform.
Reason
Those endorsed standards are defined through processes other than JCP. In other words these standards are not under the control of JCP, such as w3c and OMG.
So these standards may subject to change between releases of Java2 platform. Such a mechanism can let developers and software vendors to take advantage of
new revisions to endorsed standards.
Means
If JVM can find certain classes in a special directory called endorsed dir, these classes definition will override those included in J2SE platform. The
default endorsed dir locates in
Here
jre directory in the Java 2 SDK).
You can change the default location to another locations, however, by setting a JVM option called java.endorsed.dirs. Separate multiple directories with
File.pathSeparatorChar.
Scope
Obviously, not all platform classes can be overridden. Classes can be overridden are listed on the page of
http://java.sun.com/j2se/1.4.2/docs/guide/standards/.