Qual é a diferença entre mvn clean install
e mvn install
?
208
clean
é sua própria fase do ciclo de vida de construção (que pode ser considerada uma ação ou tarefa) no Maven. mvn clean install
diz ao Maven para fazer a clean
fase em cada módulo antes de executar a install
fase para cada módulo.
O que isso faz é limpar todos os arquivos compilados que você possui, certificando-se de que você está realmente compilando cada módulo do zero.
clean
está em um ciclo de vida separado , portanto não é chamado por padrão.O Maven permite especificar metas ou fases do ciclo de vida na linha de comando (ou ambas).
clean
einstall
são duas fases diferentes do ciclo de vida , às quais diferentes execuções de plug-ins estão vinculadas (por padrão ou explicitamente em seu pom.xml )A
clean
fase, por convenção, destina-se a tornar uma compilação reproduzível, ou seja, limpa tudo o que foi criado pelas compilações anteriores. Na maioria dos casos, isso é feito chamandoclean:clean
, o que exclui o diretório vinculado${project.build.directory}
(geralmente chamado de "destino")fonte
Você pode chamar mais de um objetivo
alvocom o maven.mvn clean install
chamaclean
primeiro, entãoinstall
. É necessário limpar manualmente, porque a limpeza não é uma meta dedestinopadrão e não é executada automaticamente em todas as instalações.clean
remove a pasta de destino - exclui todos os arquivos de classe, os documentos java, os jars, os relatórios e assim por diante. Caso contrárioclean
, o maven apenas "fará o que precisa ser feito", como se não fosse compilar classes quando os arquivos de origem correspondentes não foram alterados (em breve).chamamos de alvo na formiga e objetivo no maven
fonte
Para manter os termos do Maven:
http://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html#Lifecycle_Reference
fonte
Idem para @Andreas_D, além disso, se você disser que atualizar o Spring de uma versão para outra no seu projeto sem fazer uma limpeza, você terminará com as duas no seu artefato. Deparou-se muito com isso ao desenvolver o Flex com o Maven.
fonte