Quali sono esattamente le differenze tra mvn clean package
e mvn clean install
? Quando eseguo entrambi questi comandi, entrambi sembrano fare la stessa cosa.
Quali sono esattamente le differenze tra mvn clean package
e mvn clean install
? Quando eseguo entrambi questi comandi, entrambi sembrano fare la stessa cosa.
Risposte:
Bene, entrambi puliranno. Ciò significa che rimuoveranno la cartella di destinazione. La vera domanda è qual è la differenza tra pacchetto e installazione?
package
compilerà il codice e lo impacchetterà. Ad esempio, se il tuo pom dice che il progetto è un jar, creerà un jar per te quando lo impacchetterai e lo metterai da qualche parte nella directory di destinazione (per impostazione predefinita).
install
compilerà e impacchetterà, ma inserirà anche il pacchetto nel tuo repository locale. Ciò consentirà ad altri progetti di fare riferimento ad esso e di acquisirlo dal repository locale.
mvn clean install
non è più veloce di mvn package
.
Cosa fa clean (comune in entrambi i comandi) - rimuove tutti i file generati dalla build precedente
Venendo alla differenza tra il pacchetto di comandi e l' installazione , devi prima capire il ciclo di vita di un progetto maven
Queste sono le fasi del ciclo di vita predefinite in Maven
Come funziona Maven, se si esegue un comando per una qualsiasi delle fasi del ciclo di vita, esegue ogni fase del ciclo di vita predefinito in ordine, prima di eseguire il comando stesso.
ordine di esecuzione
convalida >> compila >> test (opzionale) >> pacchetto >> verifica >> installa >> distribuisci
Pertanto, quando si esegue il comando mvn package , esegue i comandi per tutte le fasi del ciclo di vita fino al pacchetto
convalida il pacchetto >> compila >> test (opzionale) >>
E per quanto riguarda mvn install , esegue i comandi per tutte le fasi del ciclo di vita fino all'installazione, che include anche il pacchetto
convalida >> compila >> test (opzionale) >> pacchetto >> verifica >> installa
Quindi, effettivamente ciò che significa è, i comandi di installazione fanno tutto ciò che fa il comando pacchetto e altro (installa il pacchetto nel repository locale, per usarlo come dipendenza in altri progetti localmente)
il pacchetto genererà Jar / war secondo il file POM. install installerà il file jar generato nel repository locale per eventuali altre dipendenze.
la fase di installazione arriva dopo la fase del pacchetto
Il pacchetto e l'installazione sono varie fasi del ciclo di vita di Maven Build. la fase del pacchetto eseguirà tutte le fasi precedenti e si fermerà con il confezionamento del progetto come un barattolo. Allo stesso modo la fase di installazione eseguirà tutte le fasi precedenti e infine installerà il progetto localmente per altri progetti dipendenti.
Per comprendere il ciclo di vita di Maven Build, visitare il seguente link https://ayolajayamaha.blogspot.in/2014/05/difference-between-mvn-clean-install.html
package
aggiungerà il pacchetto jar
o war
alla tua target
cartella, possiamo controllarlo quando, svuotiamo la cartella di destinazione (usando mvn clean
) e quindi eseguiamo mvn package
.
install
farà tutto ciò che package
fa, inoltre aggiungerà pacchetti jar
o war
nel repository locale. Possiamo confermarlo controllando nella tua .m2
cartella.
package
einstall
.