2009-09-08 6 views
5

Mam sytuację, w której jest mały kawałek kodu Java, który ma dużą liczbę słoików, od których zależy. Jednak zależności wewnątrz tych słoików są bardzo płytkie. W większości przypadków zależy to tylko od słoika dla pojedynczego interfejsu.Java Minimize Dependencies

Zamiast rozprowadzania wszystkich słoików z aplikacji, chciałbym po prostu rozprowadzać konkretnych plików klas wewnątrz słoików, że faktycznie korzysta. Powodem tego jest oszczędność miejsca (kod ten będzie żyć w aplecie).

Czy ktoś wie o narzędziu lub metodzie, aby zrobić to automatycznie? Zakładając, że wszystkie zależności są statyczne, wydaje się to całkowicie możliwe. Jakieś pomysły?

Odpowiedz

5

Classdepandjar będzie rozebrać się codebase do zasadniczych klas. Jest używany w świecie Jini do dostarczania słoików o optymalnych rozmiarach, ale nie ma w tym nic specyficznego dla Jini.

Dostępne jako zadanie Ant.

3

O ile mi wiadomo, to Maven tylko, ale to dobry początek

Maven Shade Plugin: Wtyczka ta zapewnia możliwość spakowania artefakt w uber-jar, w tym jego zależności i do cienia - czyli zmiana nazwy - pakiety niektórych zależności.

2

ProGuard nie kurczy/optimizingh a także zaciemniania. Myślę, że możesz skonfigurować go tak, aby działał tylko jeden lub drugi.

Powiązane problemy