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.
Wymienione problemy rozwiązuje hobbystyczny projekt WebJars. Opakowanie bibliotek webowych w artefakty Maven’a, pozwala nam w łatwy sposób zarządzać zależnościami. Większość popularnych bibliotek już jest dostępna poprzez Maven Central.
Projekt jest otwarty i każdy może dodać brakującą bibliotekę do zbioru. Wystarczy stworzyć plik POM który zbuduje odpowiedniego JAR’a. Dostępna jest instrukcja krok po kroku.
Rozwiązanie zostało tak zaprojektowane, aby współpracować z większością popularnych framework’ów: Spring MVC, Play, JSF ale także z czystymi Servlet’ami. Pełna lista znajduje się na stronie projektu. Wspierane są także inne, poza Maven’em, narzędzia automatyzujące: Gragle, Ivy czy sbt.
Przykładowy POM budujący WebJara dla PrimeUI: https://github.com/pawelantczak/primeui-webjar