Untangling dependencies in Java module systems

November 23, 2018 14:13

All developers know hells exists: DLL hell, JAR hell, Bundle hell, ... and the brand new Module hell introduced in Java 9. The word "hell" seem to describe the dense web of interconnected things, impossible for the human brain to grasp. In that sense, all those are particular implementations of the more general Dependency hell.

In modular Java systems dependencies are more fine grained (packages, contracts, services, ...) thus more flexible. Yet so many developers struggle with them! Could it be because we heavily misuse one of the core Java concepts - packages? Or do we lack the tools?

Taking OSGi (the most mature modular system in Java) as playground, the talk will demonstrate how with proper mindset and tools, one can untangle the dependencies web and turn hell into livable place.



Milen Dyankov


Developer Advocate at AxonIQ on a mission to help fellow Java developers design and build clean, modular, and future-proof software

more decks of the speaker