Dodałem kilka zewnętrznych bibliotek do mojego projektu java (w netbeans).
Czy można umieścić zewnętrzną bibliotekę słoików w archiwum Java (i nie umieszczać ich w oddzielnym (na przykład) katalogu "lib")?Włóż bibliotekę zewnętrzną do JAR?
Odpowiedz
Oczywiście, że możesz. Istnieje kilka projektów open source, które można pobrać za pomocą "słoja pakunku" zawierającego wszystkie zależności.
Musisz wyodrębnić wszystkie słoiki, a następnie słoić je ponownie do jednego pliku.
Przykład robienia tego z Antem można zobaczyć here.
Projekt JarJar umożliwia pakowanie zależnych słoików do pojedynczego pliku jar w celu dystrybucji.
Projekt zapewnia ant zadanie do zrobienia opakowania, a jako projekty netbeans używać Ant dla ich procesu budowania, powinieneś być w stanie zintegrować go z budową dość łatwo.
Jeśli chodzi o pakowanie słoików do słoików, zawsze jest to robione w przypadku aplikacji internetowych w plikach wojennych lub dousznych. Jeśli twoja aplikacja jest samodzielna, możesz rozpakować słoiki i spakować je w jednym słoiku, używając słoju Ant i nieprzyjemnych zadań: http://ant.apache.org/manual/Tasks/unzip.html Ale nie polecam tego.
Tak, jest to możliwe, a wynikowy słoik jest w rzeczywistości nazywany "uberjar" lub "megajar". Zasadniczo, aby utworzyć "uberjar", musisz wyodrębnić zawartość zewnętrznej biblioteki (używając jar -x
) i spakować ją w swoim własnym słoiku (z jar -c
). Można to osiągnąć ręcznie lub za pomocą narzędzia do budowania, takiego jak Ant (i opcjonalna obsługa projektu takiego jak One-JAR) lub Maven, który ma wbudowaną obsługę tego poprzez wtyczkę maven-assembly (lub wtyczkę maven-shade-plug)
Jeśli używasz Mavena, możesz wziąć pod uwagę Maven shade plugin lub wtyczkę zespołu.
Istnieje prosty sposób na to, dzięki wbudowanym skryptom ant.
Nie było innego SO pytanie wskazując tym artykule: http://mavistechchannel.wordpress.com/2010/08/17/how-to-build-a-single-jar-file-with-external-libs/
dodałem go, ale był taki noob nie wiedziałem, jak go używać. This article miał świetny wizualny samouczek. Zasadniczo, po zmodyfikowaniu skryptu ant, przejdź do zakładki plików (w eksploratorze po lewej) => kliknij prawym przyciskiem myszy xml => uruchom zadania => inne zadania => pakiet do sklepu (lub jakkolwiek nazwałeś skrypt)
- 1. Dodaj bibliotekę zewnętrzną .jar do Spring boot .jar internal/lib
- 2. Jak dodać zewnętrzną natywną bibliotekę zależności?
- 3. AWS EMR importuj bibliotekę zewnętrzną od S3
- 4. Jak edytować zależność/bibliotekę zewnętrzną w Androidzie?
- 5. Jak poprawnie dodać bibliotekę zewnętrzną w środowisku Eclipse?
- 6. Jak dodać bibliotekę zewnętrzną do ścieżki klas w tłumaczu scala?
- 7. Jak dołączyć bibliotekę zewnętrzną do Zend Framework 2?
- 8. Jak w pełni usunąć bibliotekę zewnętrzną w projekcie?
- 9. Utwórz bibliotekę Jar bez głównej klasy
- 10. Włóż tzinfo do datetime
- 11. Jak dodać bibliotekę do Eclipse?
- 12. Jak spakować bibliotekę źródłową do ponownego wykorzystania?
- 13. Włóż do ... Wybierz *, jak ignorować tożsamość?
- 14. Szyny 4: Włóż Atrybut Do Params
- 15. Włóż JSON do MongoDb bezpośrednio z PHP
- 16. CouchDB: włóż nową tablicę do dokumentu
- 17. Włóż kawałek tekstu do obrazu PNG
- 18. Włóż dane UTF8 do SQL Server 2008
- 19. Włóż blob do bazy oracle z C#
- 20. Włóż nową linię do łańcucha javascript
- 21. Włóż posortowaną tablicę do drzewa wyszukiwania binarnego
- 22. Włóż surowy HTML do komponentu Wiąz
- 23. Włóż wiele wierszy RockMongo
- 24. Włóż wiersz w data.table
- 25. Importuj projekt (jar) do Eclipse
- 26. Włóż przełom w tytule
- 27. Jak dołączyć bibliotekę Zxing do projektu Android?
- 28. Kod Ruby do JAR
- 29. Jak mogę silnie podpisać zewnętrzną bibliotekę DLL, zachowując jednocześnie metadane zespołu?
- 30. W jaki sposób łączysz bibliotekę zewnętrzną w systemie zewnętrznym Android cmake?
Co masz na myśli "do archiwum Java"? – danben
Myślę, że Jani chce umieścić wszystkie słoiki (biblioteki) w jednym i tylko jednym słoiku. – Pierre