Hello9.java
Download Hello9.java
1: /* Steps to create a Java 9 module:
2: mkdir Java9HelloWorld
3: cd Java9HelloWorld
4: mkdir mods src mlib mods/foo src/foo
5: (You can put all modules in a single mods directory, and all modular jars
6: in a single mlib directory, but you will need a separate src directory
7: for each module.)
8:
9: notepad src/foo/Hello9.java src/module-info.java
10:
11: The src\module-info.java file has this content:
12: module mymod {
13: requires java.desktop; // Module containing javax.swing.
14: }
15:
16: javac -d mods\mymod src\module-info.java src\foo\Hello9.java
17: java -p mods -m mymod/foo.Hello9
18: Hello, Java 9 world!
19:
20: To package in a jar:
21: jar -cfe mlib\mymod.jar foo.Hello9 -C mods\mymod .
22: java -p mlib -m mymod
23: Hello, Java 9 world!
24: (Running "java -jar mymod.jar" also works.)
25: Double-click mymod.jar should show the message in a dialog window.
26:
27: tree output:
28: .
29: ├───mlib
30: │ mymod.jar
31: │
32: ├───mods
33: │ └───mymod
34: │ │ module-info.class
35: │ │
36: │ └───foo
37: │ Hello9.class
38: │
39: └───src
40: │ module-info.java
41: │
42: └───foo
43: Hello9.java
44: */
45:
46: // Java 9 Hello World module sample. This simple program displays a
47: // friendly message, to the console if started from the console, or with
48: // a JOptionPane dialog window, if double-clicked.
49: //
50: // Written 11/2017 by Wayne Pollock, Tampa Florida USA
51:
52: package foo;
53:
54: import javax.swing.JOptionPane;
55:
56: public class Hello9 {
57: public static void main ( String[] args ) {
58: if ( System.console() != null )
59: System.out.println( "Hello, Java 9 world!" );
60: else
61: JOptionPane.showMessageDialog( null, "Hello, Java 9 world!" );
62: }
63: }