Jakie dokładnie są różnice między mvn clean packagei mvn clean install? Kiedy uruchamiam oba te polecenia, oba wydają się robić to samo.
Jakie dokładnie są różnice między mvn clean packagei mvn clean install? Kiedy uruchamiam oba te polecenia, oba wydają się robić to samo.
Odpowiedzi:
Cóż, oba posprzątają. Oznacza to, że usuną folder docelowy. Prawdziwe pytanie brzmi: jaka jest różnica między pakietem a instalacją?
packageskompiluje kod, a także go zapakuje. Na przykład, jeśli twój pom mówi, że projekt jest słoikiem, utworzy słoik dla ciebie, gdy go spakujesz i umieścisz gdzieś w katalogu docelowym (domyślnie).
installskompiluje i zapakuje, ale umieści także pakiet w lokalnym repozytorium. Dzięki temu inne projekty będą mogły do niego odwoływać się i pobierać je z lokalnego repozytorium.
mvn clean installnie jest szybszy niż mvn package.
Co robi clean (wspólne dla obu poleceń) - usuwa wszystkie pliki wygenerowane przez poprzednią kompilację
Jeśli chodzi o różnicę między pakietem poleceń a instalacją , najpierw musisz zrozumieć cykl życia projektu maven
Są to domyślne fazy cyklu życia w maven
Działanie Maven polega na tym, że jeśli uruchomisz polecenie dla którejkolwiek z faz cyklu życia, wykonuje ono każdą domyślną fazę cyklu w kolejności przed wykonaniem samego polecenia.
kolejność wykonania
sprawdź >> kompiluj >> test (opcjonalnie) >> pakiet >> zweryfikuj >> zainstaluj >> wdróż
Kiedy więc uruchomisz pakiet komend mvn , uruchomi on komendy dla wszystkich faz cyklu życia aż do pakietu
sprawdź poprawność >> kompilacja >> test (opcjonalnie) >> pakiet
A jeśli chodzi o instalację mvn , uruchamia polecenia dla wszystkich faz cyklu życia do instalacji, która obejmuje również pakiet
sprawdź >> skompiluj >> test (opcjonalnie) >> pakiet >> zweryfikuj >> zainstaluj
Tak więc, efektywnie, co to oznacza, komendy instalacyjne wykonują wszystko, co robi komenda pakietu i jeszcze więcej (zainstaluj pakiet w lokalnym repozytorium, aby używać go jako zależności w innych projektach lokalnie)
Źródło: odniesienie do cyklu życia Maven
pakiet wygeneruje Jar / war zgodnie z plikiem POM. install zainstaluje wygenerowany plik jar w lokalnym repozytorium dla innych zależności, jeśli takie istnieją.
faza instalacji następuje po fazie pakietu
Pakiet i instalacja to różne etapy cyklu życia maven. faza pakietu wykona wszystkie fazy przed tym i zakończy się pakowaniem projektu jako słoika. Podobnie faza instalacji wykona wszystkie wcześniejsze fazy i ostatecznie zainstaluje projekt lokalnie dla innych zależnych projektów.
Aby zapoznać się z cyklem życia kompilacji maven, przejdź przez poniższy link https://ayolajayamaha.blogspot.in/2014/05/difference-between-mvn-clean-install.html
packagedoda spakowane jarlub wardo twojego targetfolderu, możemy to sprawdzić, kiedy opróżnimy folder docelowy (za pomocą mvn clean), a następnie uruchomimy mvn package.
installzrobi wszystko, co packagerobi, a także doda pakiety jarlub warlokalne repozytorium. Możemy to potwierdzić, sprawdzając w .m2folderze.
packageiinstall.