Le classpath n'est pas mort, mais presque

En 2009, la mort du classpath a été annoncée. Les classloaders à plat ou hiérarchiques devaient être remplacés par des systèmes modulaires et tous nos problèmes de dépendance devaient se résoudre d’eux-même. Quatre ans plus tard, le classpath vit toujours et pour quelques années encore.

Dans la première partie de cette session, je vous propose de revenir sur le fonctionnement des classloaders du JDK et les problèmes infernaux posés par le classpath. Nous verrons aussi comment les serveurs d’applications, comme Tomcat, gèrent leur classloaders de façon hiérarchique, afin d’isoler les applications entre elles.

Dans la deuxième partie, je parlerai de modularité et de son impact sur la gestion des dépendances, à l’exécution des applications. Des solutions existent déjà, comme OSGi et Jigsaw, d’autres émergent, comme JBoss Modules. Je vous montrerai comment ce dernier fonctionne, dans JBoss AS 7, en autonome, ou même dans Tomcat.

Vous saurez ainsi comment vous sortir de l’enfer du classpath.