Details

    • Verification:
      Verified

      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.

        Attachments

          Activity

            People

            • Assignee:
              alanb Alan Bateman
              Reporter:
              alanb Alan Bateman
            • Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: