In the last chapter, we looked at several patterns and best practices to use when building Java 9 modular applications. They are an extremely handy set of rules to remember when building new applications. But it's not always that developers have the opportunity to work on greenfield projects where they have the freedom to think about and build application architecture from scratch. What if there's already a lot of code built using Java 8 or earlier? How do we migrate such code to Java 9?
In this chapter, we'll be covering:
- Working on legacy code and getting it ready to be run in Java 9
- Compiling legacy code in Java 9 and executing pre-Java 9 compiled code in the Java 9 runtime
- Classpath behaviors in Java 9 and the unnamed module
- Handling errors and non-standard API access and using the jdeps tool
- Using override switches to work around...