Jigsaw et OSGi pour essayer de résoudre le même problème: comment faire pour permettre à plus de gros-grain modules d'interagir tout en protégeant leurs internes.
Dans le Puzzle de l'affaire, le plus grossier grain modules incluent des classes Java, les paquets et leurs dépendances.
Voici un exemple: Spring et Hibernate. Les deux ont une dépendance à une 3ème partie JAR CGLIB, mais ils utilisent différents, des versions incompatibles de ce POT. Que pouvez-vous faire si vous comptez sur la norme JDK? Y compris la version Printemps veut sauts de mise en veille prolongée et vice-versa.
Mais, si vous avez un niveau supérieur modèle comme le Puzzle, vous pouvez facilement gérer les différentes versions d'un POT dans les différents modules. Pensez à eux comme de plus haut niveau des paquets.
Si vous construisez Printemps à partir de la source GitHub vous allez les voir, trop. Ils ont refait le cadre de sorte qu'il se compose de plusieurs modules: de base, de la persistance, etc. Vous pouvez choisir l'ensemble minimal de module et les dépendances de votre application à vos besoins et ignorer le reste. Il sert à être un simple Ressort POT, avec tous les .les fichiers de classe à elle.