In this chapter, we will cover the following recipes:
- Using jdeps to find dependencies in a Java application
 - Creating a simple modular application
 - Creating a modular JAR
 - Using a module JAR with pre-Project Jigsaw JDK applications
 - Bottom-up migration
 - Top-down migration
 - Using services to create loose coupling between the consumer and provider modules
 - Creating a custom modular runtime image using jlink
 - Compiling for older platform versions
 - Creating multi-release JARs
 - Using Maven to develop a modular application
 - Making your library module-path-friendly
 - How to open a module for reflection