Java 9, a new kind of programming component called module has been introduced. A module is a self-describing collection of code and data and has a name to identify it.
Features
With the Modules component, following enhancements has been added in Java 9 −
- A new optional phase,link time, is introduced. This phase is in-between compile time and run time. During this phase, a set of modules can be assembled and optimized, making a custom runtime image using jlink tool.
- javac, jlink, and java have additional options to specify module paths, which further locate definitions of modules.
- JAR format updated as modular JAR, which contains module-info.class file in its root directory.
- JMOD format introduced, a packaging format (similar to JAR) which can include native code and configuration files.
Creating Module
Following the steps to create a module say com.hi.techpoints.
Step 1
Create a folder C:\>JAVA\src. Now create a folder com.hi.techpoints which is same as the name of module we’re creating.
Step 2
Create module-info.java in C:\>JAVA\src\com.hi.techpoints folder with following code.
module-info.java
module com.hi.techpoints { }
module-info.java is the file which is used to create module. In this step we’ve created a module named com.tutorialspoint.greetings. By convention this file should reside in the folder whose name is same as module name.
Step 3
Add the source code in the module. Create Java9Module.java in C:\>JAVA\src\com.hi.techpoints\com\hi\techpoints folder with following code.
Java9Module.java
package com.hi.techpoints;
public class Java9Module {
public static void main(String[] args) {
System.out.println("Hello World!");
}
}
By convention, the source code of a module to lie in same directory which is the name of the module.
Step 4
Create a folder C:\>JAVA\mods. Now create a folder com.hi.techpoints which is same as the name of module we’ve created. Now compile the module to mods directory.
C:/ > JAVA > javac -d mods/com.hi.techpoints
src/com.hi.techpoints/module-info.java
src/com.hi.techpoints/com/hi/techpoints/Java9Module.java
Step 5
Let’s run the module to see the result. Run the following command.
C:/>JAVA>java --module-path mods -m com.hi.techpoints/com.hi.techpoints.Java9Module
Here module-path provides the module location as mods and -m signifies the main module.
Output
It will print the following output on console.
Hello World!