Zarządzanie zależnościami w projektach opartych na języku Java jest przyjemnością… w zasadzie mogłoby nią być, gdyby nie niekompatybilności, konflikty, ClassNotFoundException itd. Problemy narastają gdy tworzymy aplikacje webowe.
Dodanie kolejnej biblioteki webowej oznacza ściągniecie i skopiowanie plików do katalogu aplikacji. Podwyższenie wersji? Ponownie, ściąganie, kopiowanie. Jeśli nazwy plików nie zmieniły się – mamy szczęście. Potrzebujemy dwóch wersji tej samej biblioteki? Kolejne utrudnienia. Ilość plików bibliotek szybko przerośnie ilość właściwych plików projektu.