In this chapter, we looked at how to migrate a pre-Java 9 application to use the Java 9 modularity features. You learned how to plan the overall migration strategy, and what the ideal end goal of such a migration is. You also learned about a new feature in the platform that lets you handle dependencies and libraries that are not modular--automatic modules. We looked at how automatic modules are named, how they behave, and how we can use them in our migration process.
You then learned how to approach migrating libraries. We looked at some factors to consider when migrating the library code, as well as the multi-release JAR feature that lets us create single JARs that target multiple Java platform versions.
In the next and final chapter, we'll wrap things up by looking at two important aspects that Java developers commonly deal with--build tooling and unit testing....