Skip to main content

Hello World module with Jigsaw

Following my building Jigsaw post, here are the instructions for a Hello World module:

1. Create the project structure

mkdir -p ~/dev/hello/src/hello/lh/hello
mkdir -p ~/dev/hello/build

2. Create the Main class

use: gedit ~/dev/hello/src/hello/lh/hello/Main.java & 

package lh.hello;

public class Main
{
  public static void main(String[] args)
  {
    System.out.println(“Hello Jigsaw!!”);
  }
}

3. Create the module descriptor

use gedit ~/dev/hello/src/hello/module-info.java &

module hello @ 1.0
{
  class lh.hello.Main;
}

4. Compile

In ~/dev/hello :

$JIG/bin/javac -source 7 -d build src/hello/module-info.java src/hello/lh/hello/Main.java

5. Create a private modules library

Create a private library so that the module can be removed easily. The private library parent defaults to the JDK library.

In ~/dev/hello :

 $JIG/bin/jmod create -L modules

6. Install the hello module

In ~/dev/hello :

 $JIG/bin/jmod install -L modules build hello

7. Run

In ~/dev/hello :

$JIG/bin/java -L modules -m hello

prints:

Hello Jigsaw!!