JDK-8183230 : Release Note: Modular Run-Time Images
  • Type: Sub-task
  • Component: infrastructure
  • Affected Version: 9
  • Priority: P4
  • Status: Closed
  • Resolution: Delivered
  • Submitted: 2017-06-29
  • Updated: 2017-09-22
  • Resolved: 2017-07-12
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 9
9Resolved
Description
The JDK and JRE run-time images have been restructured as documented in [JEP 220](http://openjdk.java.net/jeps/220). The compatibility issues due to the changes are documented in the "Risks and Assumptions" section of the JEP and also summarized here. 

- Tools and libraries that rely on the existence of the `jre` directory, `rt.jar`, or `tools.jar` may need to be updated to work with the new layout and/or may need to be updated to use the `jrt` file system provider to access class files and other resources in the runtime image. 

- All user-editable configuration files are now located in the JDK/JRE `conf` directory. This includes the security policy file and other properties files. Scripts or procedures that rely on the old location of these files may need to be updated. 

- On Linux and Solaris, `libjvm.so` is now located in the JDK/JRE `lib` directory (it was located in `lib/$ARCH` in previous releases). Applications that use the JNI invocation API to create the VM may need to be updated to locate `libjvm.so` in its new location.

- `src.zip` has moved from the top-level directory to the `lib` directory and now includes both the JDK and JavaFX source files in module directories. IDEs or tools that open this zip file may need to be updated.

- The deprecated Endorsed-Standards Override Mechanism has been removed in this release. The runtime will refuse to start if `${java.home}/lib/endorsed` exists or the system property `java.endorsed.dirs` is specified on the command line. The `javac` compiler will only accept the `-endorseddirs` option when compiling to JDK 8 or older. Applications that rely on this mechanism should migrate to the upgradeable modules mechanism, documented in [JEP 261](http://openjdk.java.net/jeps/261). 

- The deprecated Extensions Mechanism has been removed. The runtime will refuse to start if `${java.home}/lib/ext` exists or the system property `java.ext.dirs` is specified on the command line. The `javac` compiler will only accept the `-extdirs` option when compiling to JDK 8 or older. The `rmic` compiler will no longer accept the `-extdirs` options. Applications that rely on this mechanism should consider deploying the libraries on the class path or as modules on the module path.