SUGGESTED FIX
1) The default extensions to the system property java.ext.dirs by
the "System-Wide Repository (Windows only)" addition to Tiger
should be generalized to all platforms and not just the plug-in.
The relevant semantic extension is "a global or system-wide
location where the VM can search for libraries, JAR or native,
independent of the JRE location".
The conceptual extension for Solaris/Linux would be:
Solaris: $(JREHOME)/lib:/usr/jdk/packages/lib
Linux: $(JREHOME)/lib:/usr/java/packages/lib
The names are negotiable, but the Solaris "packages" directory
already exists (private) due to the way this is problem is
being finessed in Tiger.
2) A STRONG policy needs to be developed to protect the Java namespace
from inappropriate intrusions by the "optional packages". See CR
6217360 for a problem caused by JMF not respecting the namespace.
The policy will probably be very strongly based on the existing
"reverse domain name" and "class hierarchy" conventions.
For extensions provided by Sun, the policy will be a rule.
Note: Most of this change is policy and documentation. The actual code changes
are on the order of a dozen lines of code.
###@###.### 2005-05-16 20:03:55 GMT
Note that the implementation of this requires fixing CR 6214495 which was closed
as "Will Not Fix". CR 6214495 is a regression introduced in 1.5 such that
sun.boot.library.path could only be a single directory, rather than a path
of directories.
|