Nasza grupa jest nieco nowością w rozwoju opartym na JVM. Rozwijamy aplikacje, które składają się z wielu innych bibliotek.Zarządzanie zależnościami za pomocą aplikacji Play 2.0
Uważamy, że struktura Play jest bardzo atrakcyjna dla tworzenia aplikacji internetowych. Struktura jest świetna, ale zarządzanie zależnościami dla naszych bibliotek opracowanych lokalnie jest nieco irytujące. Używamy RC2 w wersji 2.0, a skoro jesteśmy w stanie wprowadzać zmiany w naszych bibliotekach załadowanych do Play, jest to zdecydowanie niezręczny proces, który przerywa normalnie gładki proces Play.
To, co robimy, to przesuwanie naszych bibliotek do naszego lokalnego (na każdym komputerze programisty) repozytorium Maven, a następnie importowanie tych samych bibliotek z powrotem do projektu Play. Działa, ale, jak powiedziałem, jest to niezręczne.
Czy istnieją najlepsze praktyki, które powinniśmy zastosować, które sprawią, że praca będzie nieco bardziej płynna?
FWIW używamy IntelliJ 11,0 (Ostateczna)
============ EDIT ============
I Mam dobre odpowiedzi na temat tego, jak ulepszyć proces tworzenia Mavena i doceniam to. Jednak nie jest to odpowiedź, której szukam.
Aby było to konkretne, przyjmijmy, że buduję zarówno usługę, jak i aplikację internetową do monitorowania/zarządzania usługą. Usługa to zwykły projekt Java/Scala, a aplikacja internetowa to gra! projekt. Nazwiemy te "Usługi" i "Aplikację". (Proszę nie dziurawić tej proponowanej struktury, upraszczam ją dla celów pytania)
W Eclipse lub IntelliJ mogę dodać moduł "Usługa" (lub Project for Eclipse) jako zależność projekt "App". Pozwala to na bardzo szybkie przetwarzanie programistów podczas wprowadzania zmian w bibliotece "Usługa" (na przykład dodaję właściwość do modelu). Rekompilacja i uruchamianie jest o kilka rzędów wielkości szybsza niż kompilacja, pakowanie, wdrażanie, importowanie i ponowne ładowanie przeglądarki.
W oparciu o moje lektury dokumentacji Play 2.0 i SBT, moją jedyną prawdziwą odpowiedzią jest uczynienie "Service" podprojektem "App". Czy istnieje lepsza odpowiedź na to pytanie?
Doceniam to, co mówisz, ale nadal próbujesz ulepszyć proces, który próbuję wyeliminować. Zamierzam edytować pytanie, aby trochę to wyjaśnić. –
@AndyDavis zobacz aktualizację –
Jeszcze raz dziękuję za dane wejściowe. Gdybyś mógł rzucić okiem na mój przykład i sprawdzić, czy podprojekty są do zrobienia, byłbym wdzięczny. –