Wildcraft Blogs

Java 9 - JDK Module Dependencies

In order to know the dependents/dependecies of any JDK module, select the module on the below chart. All dependents will be highlighted with color green & lighter green and all the module dependencies will be highlighted with color red & brown.

java.basejava.compilerjava.datatransferjava.instrumentjava.loggingjava.managementjava.scriptingjava.xmljava.smartcardiojava.xml.ws.annotationjava.activationjava.corbajava.desktopjava.management.rmijava.namingjava.prefsjava.rmijava.sejava.se.eejava.security.jgssjava.security.sasljava.sqljava.sql.rowsetjava.transactionjava.xml.bindjava.xml.cryptojava.xml.wsjdk.httpserverjdk.incubator.httpclientjdk.internal.edjdk.internal.jvmstatjdk.internal.lejdk.internal.optjdk.internal.vm.cijdk.jartooljdk.crypto.ecjdk.charsetsjdk.jdwp.agentjdk.localedatajdk.netjdk.packjdk.unsupportedjdk.zipfsjdk.sctpjdk.accessibilityjdk.attachjdk.compilerjdk.crypto.cryptokijdk.dynalinkjdk.editpadjdk.hotspot.agentjdk.javadocjdk.jcmdjdk.jconsolejdk.jdepsjdk.jdijdk.jlinkjdk.jshelljdk.jsobjectjdk.jstatdjdk.managementjdk.management.agentjdk.naming.dnsjdk.naming.rmijdk.policytooljdk.rmicjdk.scripting.nashornjdk.scripting.nashorn.shelljdk.security.authjdk.security.jgssjdk.xml.bindjdk.xml.domjdk.xml.ws

Green - normal dependents.
Lighter green - transitive dependents.
Red - normal dependencies.
Brown - transitive dependencies.

Aggregator is a module with module-info.class only. There are 3 aggregator module in Jdk.

  1. java.se
  2. java.se.ee
  3. jdk.jdwp.agent

In order to know about the list of exported packages and service provider interfaces & providers, refer - JDK Module Summary

The above diagram has been generated using D3 JS library and with a reference implementation for Hierarchical Edge Bundling. To know more about the diagram generation, you can check out the reference implementation.