Как обрабатывать конфликтующие зависимости в Java - PullRequest
0 голосов
/ 28 сентября 2019

В моем проекте Java у меня есть две внешние зависимости, A и B. У меня они есть в виде файлов JAR на моем пути сборки.Оба проекта A и B имеют проект внешней зависимости C. Однако они полагаются на разные версии C. Если я использую версию, совместимую с A, то B ломается, и наоборот.

Как с этим справиться?

1 Ответ

2 голосов
/ 28 сентября 2019

Добро пожаловать в ад зависимостей.

Три подхода:

  1. Если хотя бы один из проектов A и B принадлежит вам, вы можете попробовать изменить код надостичь совместимости с требуемой версией C. В идеале вы можете обновить A и B до последней стабильной версии C и «восстановить» код, чтобы он заработал.

  2. Если обаA и B являются внешними проектами, вы можете экспериментировать с разными версиями A и B, потому что они, вероятно, полагаются на разные версии C. Возможно, вы найдете комбинацию, которая работает с одним и тем же C.

  3. Создайте затененную банку с плагином Maven.Здесь вы изменяете имена пакетов одной версии C, чтобы сделать ее независимой от другой версии.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...