JDK-8154956 : Module system implementation refresh (4/2016)
  • Type: Enhancement
  • Component: core-libs
  • Sub-Component: java.lang.module
  • Priority: P2
  • Status: Closed
  • Resolution: Fixed
  • Submitted: 2016-04-22
  • Updated: 2017-08-22
  • Resolved: 2016-05-03
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
9 b118Fixed
Related Reports
Blocks :  
CSR :  
Relates :  
Relates :  
Description
This issue tracks a refresh of the module system in JDK 9 to include:

1. Implementation of the policy for root modules when compiling code in the unnamed module or at runtime when the main class is loaded from the class path.

2. Migration to the -Xpatch syntax described in JEP 261. In JDK 9 then javac and the runtime support both the old and new forms but HotSpot/boot loader only supports the old form. A part of this transition then support for the old form will be dropped.

3. Drop support for the old form of -XaddReads and -XaddExports from both javac and runtime.

4. Update the integrity hashing so the hashes of all non-upgradeable modules are recorded in java.base. The jar and jmod command line option --hash-dependencies is dropped and replaced with --hash-modules.

5. Allow `-addmods` to take a value `ALL-DEFAULT` to mean policy for root modules in #1 implies.  The javac, javadoc and several other launchers will be changed to be compiled with `-addmods ALL-DEFAULT` or whatever the token name is.

6. Updates to javax.lang.model API (2 new methods).

7. Minor cleanup and improvements in several areas. Also Peter Levart's replacement of the WeakSet in jlr.Module.