Jestem zainteresowany, jak rozpowszechniać aplikację Java, która ma wiele zależności (określonych w pom.xml w Maven).Tworzenie aplikacji Java, która pobiera własne zależności
Oczywiście można byłoby po prostu spakować wszystko w jednym dużym pliku .jar. Wydaje się to jednak marnotrawstwem, ponieważ aktualizacja aplikacji wymagałaby również wysłania nowej kopii wszystkich zależności.
Więc szukam sposób dystrybucji aplikacji, które wykonuje następujące czynności:
- Tylko zawiera aplikację rdzenia w głównym pliku .jar
- pobrania zależności ile potrzeba, gdy plik .jar prowadzony jest
- Zachowuje kopie zależności lokalnie, dzięki czemu w przypadku aktualizacji aplikacji jest rozprowadzany zależności nie muszą być pobierane ponownie
Jaki jest najlepszy wa y osiągnięcia tego?
Zanim ktoś to zasugeruje, wydaje się, że OSGi to przesada, ale uważam, że ma to ładne funkcje pobierania i aktualizowania pakietów w locie, nawet bez ponownego uruchamiania. –
To nie pomaga teraz, ale pomyślałem, że wspomnę o trwających pracach nad rozwiązaniem tego problemu na poziomie samego JDK. Nazywa się Project Jigsaw i obecnie ma zostać uwzględnione w JDK 8. Przeczytaj więcej na ten temat tutaj: http://openjdk.java.net/projects/jigsaw/ – ivantod
@ivantod: Trzy lata później. JDK 8 jest wyłączony. Nie ma jeszcze wyrzynarki. Wciąż jednak jest na mapie drogowej. – Thilo