Próbuję zbudować punkt końcowy REST o wartości Dropwizard (Jersey), który komunikuje się z HBase. Chociaż są to moje jedyne dwie główne zależności, obie te zależności są obciążone wieloma zależnymi od siebie przechodnimi zależnościami. Prostym przykładem takiego konfliktu jest Google'a Guava:Rozwiązywanie konfliktów zależności przechodnich w Javie
- Klient HBase określa wersja 11
- Dropwizard określa 18
Dropwizard nie będzie działać z wersją 11 a HBase nie będzie działać z wersją 18
Przeanalizowałem dokumentację wtyczki Mavena, ale wydaje się, że nie pozwala ona na przeniesienie klas znalezionych w słoikach zależności. Tak więc nie wiem, jak rozwiązać ten problem, nie dzieląc tych dwóch komponentów na osobne maszyny JVM.
Czy możesz podać więcej szczegółów, dlaczego nie można ich używać z ulepszoną/obniżoną wersją guawy? –
Konflikty należały do wielu, ale jeden z nich, który mnie zabił, to: com.google.common.base.Stopwatch', gdzie między wersjami 17 i 18 interfejs API zmienił się bez jakiejkolwiek formy wycofania. –
Brak szans na rozwidlenie HBase i aktualizację zależności ? –