Je sais que cela peut être une question idiote pour les codeurs expérimentés. Mais j'ai une bibliothèque (un client http) dont certains des autres frameworks / jars utilisés dans mon projet ont besoin. Mais tous nécessitent différentes versions majeures telles que:
httpclient-v1.jar => Required by cralwer.jar
httpclient-v2.jar => Required by restapi.jar
httpclient-v3.jar => required by foobar.jar
Le chargeur de classe est-il assez intelligent pour les séparer d'une manière ou d'une autre? Préférablement pas? Comment le Classloader gère-t-il cela, au cas où une classe serait la même dans les trois fichiers JAR. Lequel est chargé et pourquoi?
Le Classloader ne récupère-t-il qu'un seul bocal ou mélange-t-il les classes de manière arbitraire? Par exemple, si une classe est chargée depuis la version 1.jar, toutes les autres classes chargées depuis le même chargeur de classe iront toutes dans le même fichier jar?
Comment gérez-vous ce problème?
Y a-t-il une astuce pour "incorporer" les fichiers jar dans le fichier "required.jar" afin que les soient considérés comme "une unité / paquet" par le Classloader
, ou liés d'une manière ou d'une autre?