So hardcode os_name, and fill in os_version if we can. * remain the same, or even if the JRS functions will continue to be part of * Don't rely on JRSCopyOSName because there's no guarantee the value will According to Apple's own comments (file java_props_macosx.c): Now that the JDK implementation ownership has changed from Apple to us, we are left with the following issue - we don't control the JRS implementation, yet rely on Apple to support it for our JDK to continue to run. It is a "black box" that wraps up those SPIs that are required by Apple provided implementation of JDK and exposes them to the JDK as APIs. amework (JRS) is a framework implemented and provided by Apple for a single client - ie. In jdk/java_props_macosx.c there is code that dynamically looks up 4 methods in amework (JRS) and calls into them to find out localized OS version, default locale and the preferred language, but JRS checks for a system available Java and refuses to run if none found. Clearly, a valid local JDK should be able to run in this case. Do you want to install Java?" dialog and refuses to run. On those OS X machines where the default system Java is not installed, any attempt to instantiate JVM from a local JDK (for example via JNI as shown in the bug) presents "No Java installed.
0 Comments
Leave a Reply. |