The Java Module System

The Java Module System
Authors
Parlog, Nicolai
Publisher
Manning Publications
Tags
reference
ISBN
9781617294280
Date
2018-08-01T00:00:00+00:00
Size
19.04 MB
Lang
en
Downloaded: 79 times

**Summary**

Java's much-awaited "Project Jigsaw" is finally here! Java 11 includes a built-in modularity framework, and *The Java Module System* is your guide to discovering it. In this new book, you'll learn how the module system improves reliability and maintainability, and how it can be used to reduce tight coupling of system components.

Foreword by Kevlin Henney.

Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications. You'll find registration instructions inside the print book.

**About the Technology**

Packaging code into neat, well-defined units makes it easier to deliver safe and reliable applications. The Java Platform Module System is a language standard for creating these units. With modules, you can closely control how JARs interact and easily identify any missing dependencies at startup. This shift in design is so fundamental that starting with Java 9, all core Java APIs are distributed as modules, and libraries, frameworks, and applications will benefit from doing the same.

**About the Book**

*The Java Module System* is your in-depth guide to creating and using Java modules. With detailed examples and easy-to-understand diagrams, you'll learn the anatomy of a modular Java application. Along the way, you'll master best practices for designing with modules, debugging your modular app, and deploying to production.

**What's inside**

The anatomy of a modular Java app

Building modules from source to JAR

Migrating to modular Java

Decoupling dependencies and refining APIs

Handling reflection and versioning

Customizing runtime images

Updated for Java 11

**About the Reader**

Perfect for developers with some Java experience.

**About the Author**

**Nicolai Parlog** is a developer, author, speaker, and trainer. His home is codefx.org.

**Table of Contents**

PART 1 - Hello, modules

First piece of the puzzle

Anatomy of a modular application

Defining modules and their properties

Building modules from source to JAR

Running and debugging modular applications

PART 2 - Adapting real-world projects

Compatibility challenges when moving to Java 9 or later

Recurring challenges when running on Java 9 or later

Incremental modularization of existing projects

Migration and modularization strategies

PART 3 - Advanced module system features

Using services to decouple modules

Refining dependencies and APIs

Reflection in a modular world

Module versions: What's possible and what's not

Customizing runtime images with jlink

Putting the pieces together