As early as August 2012, shortly after the Java platform Chief architect Mark Reinhold announced the modular project Jigsaw, JEP 162, a "ready to modularize" proposal, pointed out that the code developed for the modular system in the jigsaw project would not be integrated into JDK 8. The extension postponed the modular support to JDK 9, which was first received for 2016 years.
However, Oracle has recently accelerated the introduction of modular systems to Java. In August 2014, Oracle merged the restructured source code (JEP 201) into JDK 9 build 27. Recently, they have merged the Refactored runtime (JEP 220) into JDK 9 build 41, and here are a few of the more significant changes:
- The JRE subdirectory is no longer included in the JDK;
- Disable the authorization standard override mechanism, delete the corresponding implementation code, replace it with upgradeable module, the JDK no longer contains system attributes Java.endorsed.dirs and directory lib/endorsed;
- Disable the extension mechanism, delete the corresponding implementation code, similarly, the JDK no longer contains system attributes Java.ext.dirs and directory Lib/ext, but some of the extension mechanism related manifest properties, such as Class-path, sealed, etc., will also be retained;
- Remove Rt.jar, Tools.jar, Dt.jar, and various other internal jar packages, where class and resource files are stored in a more efficient format called jimage. Tools that require direct access to Rt.jar can access classes and resource files in the runtime using an internal NiO file system provider;
- The configuration file in the subdirectory Lib. Properties,. Policy moves to the new directory conf, and other configuration files that are scheduled to be modified by developers, Deployer, and end users are also stored in the directory;
- Introduces a new URI naming convention for modules, classes, and resources JRT, which hides the internal structure or format of the JDK with the syntax of jrt:/[$MODULE [/$PATH]].
There are other changes that Oracle will introduce, but Reinhold clearly states that the above changes are the most significant among all planned changes. In particular, he stressed that they did not propose to remove the generic-use jar package, but only to remove the JRE and JDK.
Next, according to Mark Reinhold's plan, there will be a fourth proposal. The proposal will be introduced into the modular system itself, and will be consistent with the modular system JSR.
Interested readers can download the early Java 9 Trial version from the official website. It is important to note that this version does not support Windows XP.
Oracle starts removing jar packages from the Java runtime