Book Image

Java 9 with JShell

By : Gaston C. Hillar
Book Image

Java 9 with JShell

By: Gaston C. Hillar

Overview of this book

The release of Java 9 has brought many subtle and not-so-subtle changes to the way in which Java programmers approach their code. The most important ones are definitely the availability of a REPL, known as JShell, which will make experiments and prototyping much more straightforward than the old IDE-based project-led approach. Another, more subtle change can be seen in the module system, which will lead to more modularized, maintainable code. The techniques to take full advantage of object-oriented code, functional programming and the new modularity features in Java 9 form the main subjects of this book. Each chapter will add to the full picture of Java 9 programming starting out with classes and instances and ending with generics and modularity in Java.
Table of Contents (23 chapters)
Java 9 with JShell
Credits
About the Author
Acknowledgement
About the Reviewer
www.PacktPub.com
Customer Feedback
Preface
Index

Run modularized code with Java 9


Finally, we can use the java command to launch the Java application. Go back to the Terminal window on macOS or Linux, or a Command Prompt in Windows, and make sure you are in the Renderer folder. Make sure the java command is included in the path, and that it is the java command for Java 9 and not for previous Java versions that aren't compatible with the modules introduced in Java 9.

In macOS, Linux or Windows, run the following command to load the compiled modules, resolve the com.renderer module, and run the main static method for the Example01 class declared in the com.renderer package. The --module-path option specifies the directory in which the modules can be found. In this case, we just specify the mods folder. However, we may include many directories separated by a semicolon (;). The -m option specifies the initial module name to resolve followed by a slash (/) and the name of the main class to execute.

java --module-path mods -m com.renderer/com...