2012-04-06 12 views
6

Mam duży plik JAR, który ma wiele zależności od innych plików JAR ~ 40 plików o łącznej wartości kilkuset MB. Martwię się problemami związanymi z zależnościami w tym pliku jar, więc chciałbym dodać wymagane zależności do pliku manifestu tego słoika podczas kompilacji. Zastanawiam się, czy istnieją negatywne wady tego podejścia. Zrobiłem kilka testów czasów ładowania klas i nie wydaje się, żeby miały one tak wielki wpływ.Oddziaływanie dodawania zbyt wielu plików JAR w ścieżce klas

Innym powodem, dla którego chcę przenieść zależności do manifestu słoika jest to, że przy tak wielu plikach linia poleceń jest długa i trudna do odczytania. Mamy dużo opcji -XX itd., Jak również jest przekazywanych do maszyny JVM, ale wygląda na to, że nie ma sposobu, aby ustawić je w manifeście lub w jakimś pliku konfiguracyjnym.

+0

Osobiście zawsze używam trywialnego skryptu, aby uruchomić program, zamiast ręcznie pisać wszystkie opcje i pliki jar ręcznie (ugh). To rozwiązuje wszystkie problemy naraz, chociaż nie ma nic przeciwko dodawaniu słoików do manifestu. – Voo

+0

Voo - Dzięki za komentarz. Obecnie używam skryptu, a moje dwa problemy polegają na tym, że patrząc na działające procesy, dochodzi do punktu, w którym każde wystąpienie javy zajmuje prawie pełne okno terminala. Po drugie, inni mogą swobodnie używać tego słoika i mogą go wywoływać, jak chcą. Wolałbym, jeśli istnieje połączenie pomiędzy kompilacją a środowiskiem wykonawczym. – john

Odpowiedz

3

Jeśli jesteś zależny od tych słoików, to jest OK. 40 zależności to nie tyle, więc nie uważajmy tego za problem. Upewnij się, że nie uwzględniasz nieużywanych zależności.

+0

Nie widzę powodu, dla którego niewykorzystane deps mogłyby spowodować jakiś problem. Pewnie, że zwiększają rozmiar (i są niepotrzebne), ale ponieważ program ładujący klasy jest leniwy, nie rozumiem, dlaczego byłby to problem. – Voo

+0

Myślę, że to prawdopodobnie jest sedno mojego pytania. Łączenie zależności w słoiku z pewnością będzie oznaczało użycie nieużywanych słoików. W zależności od tego, w jaki sposób słoik jest używany, wielu nie można używać. Wiem, że w takich przypadkach rozszczepienie słoika byłoby idealne. Niestety nie jest to opcja w tym przypadku. – john

Powiązane problemy