Getting Started with the Modules Project

The Modules Project was inactive and was subsequently dissolved Oct 2023. The approach described here was superseded by Project Jigsaw.

Downloading and Building

First, download the source bundle of the Modules project. Note that the modules project currently only supplies a copy of the j2se repository as no changes to the other repositories (such as hotspot) are made at this time. Build the sources following the OpenJDK build instructions.

Samples

For an explanation of the samples, see the samples page.

Source Files

The following is an overview of the source files added or changed by the Modules project so far:

JSR 277 API, implementation, and configuration files
src/share/classes/java/module/*
src/share/classes/sun/module/*
src/share/lib/module/*
JSR 294 reflective API
src/share/classes/java/lang/reflect/Superpackage.java
src/share/classes/java/lang/Class.java
src/share/classes/java/lang/ClassLoader.java
src/share/classes/java/lang/annotation/ElementType.java
JSR 269 updates
src/share/classes/javax/lang/model/*
java launcher
src/share/bin/java.c

Tests

Unit and regression tests in the jtreg format are included in the directories test/java/module and test/sun/module. For information about jtreg, see the jtreg harness page.

NetBeans Project File

The Modules project also includes a NetBeans project file compatible with NetBeans 6.0 M9 or later in the directory make/netbeans/modules. It allows easy editing of the relevant source files from the IDE. However, building the project from the IDE is currently not well tested and it is recommended to use the Makefile infrastructure for building and running instead.