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: }