No Maven, por que executar o 'mvn clean'?

Gostaria de saber qual a principal diferença entre corrermvn compile emvn clean compile são, na praticidade.

Eu entendo qual é a diferença real, quemvn clean compile exclui todos os arquivos gerados e inicia novamente do zero, mas por que queremos fazer isso? Eu posso assumirmvn compile irá regenerar arquivos, se necessário, certo?

Uma coisa que notei no meu projeto foi que, se você tivesse excluído um arquivo de origem, sem executarclean, o arquivo compilado permanece, o que geralmente não seria um problema, mas poderia ser, suponho.

questionAnswers(4)

yourAnswerToTheQuestion