Jeśli budujemy dużą bibliotekę klas java, co decyduje o tym, kiedy najlepiej podzielić je na osobne pliki jar?

Rozumiem, że posiadanie jednego dużego pliku jar nie powinno znacząco wpływać na wydajność JVM. Istnieje jednak pewien koszt rozwoju, jeśli cały zestaw długich testów zostanie uruchomiony, gdy w słoiku zostaną wprowadzone zmiany lub dodatki. Czy korzystanie z dużych plików jar z maven i archiwum wiąże się z kosztami lub korzyściami?

Jaką strategię stosują ludzie w praktyce?

2
Mike 16 luty 2012, 23:55

3 odpowiedzi

Najlepsza odpowiedź

Weź pod uwagę tylko aspekty zarządzania zmianą, reszta jest znikoma. Plik jar to coś, co określa minimalną jednostkę łatwo zwalnianą.

4
Perception 17 luty 2012, 00:18

Lubimy dzielić nasze słoiki na mniejsze, łatwiejsze w zarządzaniu jednostki. Każdy słoik jest specyficzny dla wykonania podzbioru zadań. Kiedy tworzymy aplikację, wciągamy do niej tylko potrzebne słoiki, a nie jeden duży słoik, który ma wszystko.

Mamy słoiki dla bezpieczeństwa, interfejsu użytkownika, ogólnych struktur i interfejsów, lokalizacji i wielu innych rzeczy, które są specyficzne dla naszej branży.

1
Tony 17 luty 2012, 00:08

Logicznie oddziel warstwy projektów jar, bez zależności cyklicznych, tylko jedna warstwa zależna od poprzednich warstw.

Ponieważ możesz (oprócz nazwy projektu) podać opisową nazwę wyświetlaną w IDE, jednym ze sposobów na uporządkowanie projektów jest użycie skrótu i ​​prefiksu numerycznego:

  • Baza lib CD01
  • CD10 mathlib
  • CD30 daolib
  • CD91 xysite
0
Joop Eggen 17 luty 2012, 00:09