CACrown ArchivesHistory · sources · collections
Menu
Research dossier · General Reference

Java Platform Module System

distribution format for Java code and resources

Cross-disciplinary reference desk with index cards, atlas, dictionary and catalogue
General referenceInterpretive dossier study · Crown Archives visual atlas
Record originEnglish Wikipedia
Text licenseCC BY-SA 4.0
Source revisionAug 30, 2026
Entity authorityQ6165007
Source-derived summary

The Java Platform Module System (JPMS) specifies a distribution format for collections of Java code and associated resources. It also specifies a repository for storing these collections, or modules, and identifies how they can be discovered, loaded and checked for integrity. It includes features such as namespaces with the aim of fixing some of the shortcomings in the existing JAR format, especially the JAR Hell, which can lead to issues such as classpath and class loading problems.

The Java Module System was initially being developed under the Java Community Process as JSR 277 and was scheduled to be released with Java 7.

JSR 277 later was put on hold and Project Jigsaw was created to modularize the JDK. This JSR was superseded by JSR 376 (Java Platform Module System).

Project Jigsaw was originally intended for Java 7 (2011) but was deferred to Java 8 (2014) as part of Plan B, and again deferred to a Java 9 release in 2017. Java 9 including the Java Module System was released on September 21, 2017.

Architecture

The Java Module System implemented in Java 9 includes the following JEPs and JSR (Java Specification Request):

JEP 200: The Modular JDK: Define a modular structure for the JDK

JEP 201: Modular Source Code: Reorganize the JDK source code into modules, enhance the build system to compile modules, and enforce module boundaries at build time

JEP 220: Modular Run-Time Images: Restructure the JDK and JRE run-time images to accommodate modules and to improve performance, security, and maintainability

JEP 261: Module System: Implement the Java Platform Module System

JEP 282: The Java Linker: Create a tool that can assemble and optimize a set of modules and their dependencies into a custom run-time image

JSR 376: Java Platform Module System

Additionally, several other JDK 9 features have been added to ease transition to the module system:

JEP 238: Multi-Release JAR Files: Extend the JAR file format to allow multiple, Java-release-specific versions of class files to coexist in a single archive.

JEP 253: Prepare JavaFX UI Controls & CSS APIs for Modularization: Define public APIs for the JavaFX functionalities that is presently only available via internal APIs and would become inaccessible due to modularization.

JEP 260: Encapsulate Most Internal APIs: Make most of the JDK's internal APIs inaccessible by default but leave a few critical, widely used internal APIs accessible, until supported replacements exist for all or most of their functionality.

Editorial summary

This brief starts where responsible research should: with the source description of “Java Platform Module System” as distribution format for Java code and resources. Everything that follows is an evidence route, not borrowed authority.

Editorial reviewA dependable orientation record for establishing vocabulary, names and a first evidence trail. The current lead gives the account dated anchors—2011, 2014, 2017—that can be checked directly. The selected authority fields contribute no independent date. The account is most persuasive where Java, Platform and Module can be independently traced.
Editorial analysis

Why this record matters

The subject matters to the general reference register because the source frames it as distribution format for Java code and resources. Its deeper value depends on whether names, dates, institutions and citations support that framing.

Evidence profile

Vocabulary and entity names are the principal evidence signals here, because they determine the precision of every later search. The source revision retrieved here is dated Aug 30, 2026. The linked authority identifier is Q6165007. None of the 0 selected statements returned an explicit reference. The first chronological checks are 2011, 2014 and 2017.

Critical limits

Overview language is designed for orientation and should not be treated as a substitute for the evidence cited beneath it. The lead is largely declarative, so disagreement and counter-evidence require a deliberate search beyond the opening account. Authority statements aid reconciliation but still require their own references, qualifiers and ranks to be checked.

How to read it

Use the entry as an orientation point, then follow its citations and revision history. Names, dates and institutional relationships should be checked against the original record.

Best used for
  • Subject orientation
  • Search vocabulary
  • Locating named sources
Verify next

The closest primary source, responsible institution and strongest cited specialist reference.

Three-step research path

  1. Establish the record: confirm the title “Java Platform Module System”, its source revision and the description used here.
  2. Expand the search: follow Java Platform Module System primary sources, Java Platform Module System archive and Java research across catalogues and specialist indexes.
  3. Test the account: compare the strongest cited source with the responsible institution’s current record and note any disagreement.

Questions for further research

  1. Which source most directly establishes the central claim about “Java Platform Module System”?
  2. Which cited source is closest to the event, object or claim?
  3. What terminology or title could unlock a more precise catalogue search?
Subject index

Search terms from this dossier

Source & attribution

This entry incorporates text from Java Platform Module System” on English Wikipedia. Contributors are listed in the page history. Text is available under the Creative Commons Attribution-ShareAlike 4.0 License. Selected authority identifiers and statements are retrieved from Wikidata under CC0; their references and qualifiers remain part of the verification path.