Как решить конфликт JAR в веб-приложении Tomcat, необходимом для плагина, который имеет зависимость от класса, уже находящегося в WEB-INF/lib?

Я создал плагин для веб-приложения, использующего tomcat. Плагин зарегистрирован как bean-компонент сервлета. Теперь я хочу использовать rabbitmq с последней клиентской библиотекой amqp. Который зависит от классов в slf4j-api-1.7.25.jar. К сожалению, веб-приложение также зависит от slf4j, но более старой версии. Таким образом, добавление нового файла jar приводит к сбою веб-приложения. Есть что спасать? У меня есть две зависимости, которые я не могу контролировать.


person mbr    schedule 19.01.2019    source источник


Ответы (1)


No.

Используйте более старую версию клиента amqp, в которой есть нужные вам зависимости.

Затем на досуге обновите веб-приложение до версии slf4j, загруженной клиентом. Может быть, даже должной осмотрительности.

person Thorbjørn Ravn Andersen    schedule 19.01.2019
comment
Спасибо. Задача решена. Это вообще называется баночный ад? - person mbr; 19.01.2019
comment
Некоторыми. Это одна из особенностей платформы Maven, которая еще не имеет удовлетворительного общего решения, а именно то, что ожидается, что более новая версия зависимости всегда будет прямой заменой любой старой версии. - person Thorbjørn Ravn Andersen; 19.01.2019