concept modular jar in category java

This is an excerpt from Manning's book The Java Module System.
Platform modules are packed into JMOD files, a new format created specifically for this purpose. But code outside the JDK can create modules just as well. In that case, they’re modular JARs: plain JARs that contain a new construct, the module descriptor, which defines the module’s name, dependencies, and exports. Finally, there are modules the module system creates on the fly from JARs that weren’t yet transformed into modules.
In chapter 8, you learned all about the unnamed module, automatic modules, and mixing plain JARs, modular JARs, class path, and module path. But how do you put that into practice? What are the best strategies to incrementally modularize a code base? To answer these questions, imagine the entire Java ecosystem as a huge layered graph of artifacts (see figure 9.1).
Figure 9.3 Artifacts depending on modular JARs can be modularized straight away, leading to a bottom-up migration
![]()