Quais são exatamente as diferenças entre mvn clean packagee mvn clean install? Quando eu executo esses dois comandos, eles parecem fazer a mesma coisa.
Quais são exatamente as diferenças entre mvn clean packagee mvn clean install? Quando eu executo esses dois comandos, eles parecem fazer a mesma coisa.
Respostas:
Bem, ambos vão limpar. Isso significa que eles removerão a pasta de destino. A verdadeira questão é qual é a diferença entre pacote e instalação?
packageirá compilar seu código e também empacotá-lo. Por exemplo, se o seu pom disser que o projeto é um jar, ele o criará quando você o empacotar e o colocar em algum lugar no diretório de destino (por padrão).
installirá compilar e empacotar, mas também colocará o pacote no seu repositório local. Isso fará com que outros projetos possam se referir a ele e capturá-lo no seu repositório local.
mvn clean installnão é mais rápido que mvn package.
O que limpa (comum nos dois comandos) - remove todos os arquivos gerados pela compilação anterior
Chegando à diferença entre o pacote de comandos e a instalação , primeiro você precisa entender o ciclo de vida de um projeto maven
Essas são as fases padrão do ciclo de vida no maven
Como o Maven funciona é, se você executar um comando para qualquer uma das fases do ciclo de vida, ele executará cada fase padrão do ciclo de vida em ordem, antes de executar o próprio comando.
ordem de execução
validar >> compilar >> testar (opcional) >> pacote >> verificar >> instalar >> implantar
Portanto, quando você executa o comando mvn package , ele executa os comandos para todas as fases do ciclo de vida até o pacote
validar >> compilar >> testar (opcional) >> pacote
E quanto ao mvn install , ele executa os comandos para todas as fases do ciclo de vida até a instalação, o que inclui também o pacote
validar >> compilar >> testar (opcional) >> pacote >> verificar >> instalar
Portanto, efetivamente, o que isso significa é que os comandos install fazem tudo o que o comando package faz e um pouco mais (instale o pacote no repositório local, para uso como dependência em outros projetos localmente)
O pacote irá gerar Jar / war conforme o arquivo POM. install instalará o arquivo jar gerado no repositório local para outras dependências, se houver.
a fase de instalação vem após a fase do pacote
Empacotar e instalar são várias fases no ciclo de vida da compilação maven. A fase do pacote executará todas as fases anteriores a isso e parará de empacotar o projeto como um frasco. Da mesma forma, a fase de instalação executará todas as fases anteriores e finalmente instalará o projeto localmente para outros projetos dependentes.
Para entender o ciclo de vida da construção do maven, acesse o seguinte link https://ayolajayamaha.blogspot.in/2014/05/difference-between-mvn-clean-install.html
packageadicionará o pacote jarou wara sua targetpasta. Podemos verificar quando, esvaziamos a pasta de destino (usando mvn clean) e depois executamos mvn package.
installfará tudo o que packagefizer, além de adicionar o pacote jarou waro repositório local. Para confirmar, verifique sua .m2pasta.
packageeinstall.