Я знаю, що це може бути дурним питанням для досвідчених кодерів. Але у мене є бібліотека (http-клієнт), якої потребують деякі інші рамки / банки, використовувані в моєму проекті. Але всі вони потребують різних основних версій, таких як:
httpclient-v1.jar => Required by cralwer.jar
httpclient-v2.jar => Required by restapi.jar
httpclient-v3.jar => required by foobar.jar
Чи достатньо розумний завантажувач класів, щоб їх якось відокремити? Швидше за все, ні? Як поводиться з цим завантажувач класів, якщо клас однаковий у всіх трьох банках. Який з них завантажений і чому?
Чи завантажувач класів набирає лише одну банку або змішує класи довільно? Так, наприклад, якщо клас завантажений з версії 1.jar, всі інші класи, завантажені з того самого завантажувача, всі перейдуть в одну банку?
Як ви вирішуєте цю проблему?
Чи є якийсь трюк, щоб якось "включити" банки в "Requir.jar", щоб вони розглядалися як "одна одиниця / пакет" з боку Classloader
, або якимось чином пов'язані?