1 First piece of the puzzle
This chapter covers
- Modularity and how it shapes a system
- Java’s inability to enforce modularity
- How the new module system aims to fix these issues
We’ve all been in situations where the software we’ve deployed refuses to work the way we want it to. There are myriad possible reasons, but one class of problems is so obnoxious that it earned a particularly gracious moniker: JAR hell. Classic aspects of JAR hell are misbehaving dependencies: some may be missing but, as if to make up for it, others may be present multiple times, likely in different versions. This is a surefire way to crash or, worse, subtly corrupt running applications.
The root problem underpinning JAR hell is that we see JARs as artifacts with identities ...
Get The Java Module System now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.