Реально ли ограничить версию либы в рамках одного модуля не перекидывая при этом версию на соседние
Есть мультимодульный проект, проектная версия джексона очень старая. В одном из модулей понадобилось подключить либу, которой нужен новый джексон. Естественно, просто взять и подключить эту версию для модуля я не могу, ибо тогда новая версия джексона распространится на соседние модули. Даунгрейднуть либу не выйдет - самая старая версия пользует слишком новый джексон. Апгрейднуть проектную версию джексона тоже не вариант - не позволят. Какие возможны пути решения таких моментов. Возможно ли, чтобы именно эта либа пользовалась одной версией джексона, а в остальном проекте осталась старая. Или возможно ли, чтобы именно этот модуль пользовался новым джексоном, не перекидывая версии на соседние модули.
Или же вообще какой-нибудь иной подход решения такого момента.
Ответы (1 шт):
Разобравшись в проблеме заключил, что способов решить такое, учитывая мои запросы просто нет. В любом случае на проект должна быть одна версия библиотеки, поэтому для общих случаев наиболее подходящих варианта 2. 1 - Переписать весь проект под новую библиотеку, что в рамках моего проекта не представлялось возможным. 2 - Поискать аналог добавляемой библиотеки, которая либо использует нужную версию джексона, либо не использует его в принципе. Остановился я в итоге на втором варианте и переписал имеющуюся реализацию. Библиотека, о которой шла речь - Java JWT, как альтернативу взял Nimbus JOSE+JWT, которая работает через другой сериализатор.