Jakie dokładnie są różnice między mvn clean package
i mvn clean install
? Kiedy uruchamiam oba te polecenia, oba wydają się robić to samo.
Jakie dokładnie są różnice między mvn clean package
i 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ą?
package
skompiluje 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).
install
skompiluje 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 install
nie 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
package
doda spakowane jar
lub war
do twojego target
folderu, możemy to sprawdzić, kiedy opróżnimy folder docelowy (za pomocą mvn clean
), a następnie uruchomimy mvn package
.
install
zrobi wszystko, co package
robi, a także doda pakiety jar
lub war
lokalne repozytorium. Możemy to potwierdzić, sprawdzając w .m2
folderze.
package
iinstall
.