вам нужно будет использовать механизм «множественного загрузчика классов» (это то, на что способен OSGI).В таком сценарии загрузчик классов для класса B может видеть только LibX.v1, а загрузчик классов C видит только LibX.v2.Вы можете сделать это с OSGI, но OSGI гораздо больше, чем это, и начать работу с ним нетривиально.Другой плагин-фреймворк - JPF , который также предлагает больше, чем просто использование нескольких загрузчиков классов.я думаю, что они оба используют принцип 1 загрузчик классов на плагин (модуль, что угодно, ...)возможно взгляните на classworlds .Я думаю, что это возможно сделать с этой библиотекой.Преимущество состоит в том, что он фокусируется на аспекте загрузки классов.документация не очень хорошая.classworlds использует понятие классов классов.взгляните на пример использования API на сайте.Я добавлю пример здесь, если я найду один.во всяком случае, нет тривиального решения для этого, я думаюРазумеется, решение этой проблемы с помощью управления зависимостями - лучшее решение, но это не всегда возможно.