Os objetivos são executados em fases que ajudam a determinar a ordem em que os objetivos são executados. O melhor entendimento disso é examinar as ligações padrão do ciclo de vida do Maven, que mostram quais objetivos são executados em quais fases, por padrão. Os objetivos da fase de compilação sempre serão executados antes dos objetivos da fase de teste, que sempre serão executados antes dos objetivos da fase do pacote e assim por diante.
Parte da confusão é exacerbada pelo fato de que, quando você executa o maven, pode especificar um objetivo ou uma fase. Se você especificar uma fase, o maven executará todas as fases até a fase especificada em ordem (por exemplo, se você especificar o pacote, ele primeiro executará a fase de compilação e, em seguida, a fase de teste e, finalmente, a fase do pacote) e, para cada fase, executar todas as metas associadas a essa fase.
Quando você cria uma execução de plug-in no arquivo de construção do Maven e especifica apenas o objetivo, ele o vincula a uma determinada fase padrão. Por exemplo, o objetivo jaxb: xjc é vinculado por padrão à fase generate-resources. No entanto, quando você especifica a execução, também pode especificar explicitamente a fase para esse objetivo.
Se você especificar um objetivo ao executar o Maven, ele executará esse objetivo e somente esse objetivo. Em outras palavras, se você especificar o objetivo jar: jar, ele executará apenas o objetivo jar: jar para empacotar seu código em um jar. Se você não executou a meta de compilação anteriormente ou preparou seu código compilado de alguma outra maneira, isso provavelmente poderá falhar.
Eu criei o hábito de dizer "Maven passa todas as fases (até e incluindo o dado)" em vez de "executa" ou "executa" (o último, como é chamado na Introdução ao ciclo de vida de construção do Maven ). Isso o distingue mais claramente do código do objetivo que é realmente executado. Mas isso pode ser gosto pessoal.
GeroldBroser restabelece Monica
Mas também podemos executar objetivos que não pertencem a nenhuma fase, ou seja mvn archetype:generate, e nesse caso o maven apenas executa o objetivo?
Quazi Irfan
1
@Pace Você tem uma referência para o último parágrafo? Eu tenho duvidado disso e tentei com um projeto simples aqui: mvn testruns:, --- maven-resources-plugin:2.6:resources ... --- maven-compiler-plugin:3.1:compile ... --- maven-resources-plugin:2.6:testResources ... --- maven-compiler-plugin:3.1:testCompile ... --- maven-surefire-plugin:2.12.4:testenquanto mvn compiler:testCompileapenas executa --- maven-compiler-plugin:3.1:testCompile ....
GeroldBroser restabelece Monica 03/02
4
O @Pace mvn clean compiler:testCompileé executado --- maven-clean-plugin:2.5:clean ... --- maven-compiler-plugin:3.1:testCompilecom falha Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1:testCompile (default-cli) on project mvnphase: Compilation failure ... cannot find symbol ... symbol: variable MvnPhase(onde MvnPhaseestá a classe em teste referenciada na classe de teste). Aparentemente, as fases não são invocadas se uma meta for invocada explicitamente.
GeroldBroser restabelece Monica 04/02
1
Com base nas informações de geroldbroser e @ kekko12, atualizei o último parágrafo para afirmar que, quando um objetivo é especificado, apenas esse objetivo é executado e nem todas as fases anteriores.
Pace
188
Ciclo de vida é uma sequência de fases nomeadas .
As fases são executadas sequencialmente. Executar uma fase significa executar todas as fases anteriores.
Plug-in é um conjunto de objectivos , também chamado MOJO ( M aven O ld J ava O bject).
Analogia: Plugin é uma classe e objetivos são métodos dentro da classe.
O Maven é baseado no conceito central de um Build Life Cycles . Dentro de cada Ciclo de Vida da Construção, existem Fases de Construção , e dentro de cada Fase de Construção, existem Metas de Construção .
Podemos executar uma fase de construção ou meta de construção. Ao executar uma fase de construção, executamos todos os objetivos de construção nessa fase de construção. Metas de construção são atribuídas a uma ou mais fases de construção. Também podemos executar uma meta de construção diretamente.
Existem três principais Ciclos de Vida de Construção integrados :
Por exemplo, o defaultciclo de vida compreende as seguintes fases de construção :
◾validate - validate the project is correct and all necessary information is available
◾compile - compile the source code of the project
◾test - test the compiled source code using a suitable unit testing framework. These tests should not require the code be packaged or deployed
◾package - take the compiled code and package it in its distributable format, such as a JAR.
◾integration-test - process and deploy the package if necessary into an environment where integration tests can be run
◾verify - run any checks to verify the package is valid and meets quality criteria
◾install - install the package into the local repository, for use as a dependency in other projects locally
◾deploy - done in an integration or release environment, copies the final package to the remote repository for sharing with other developers and projects.
Então, para passar pelas fases acima, basta chamar um comando:
mvn <phase> { Ex: mvn install }
Para o comando acima, iniciando na primeira fase, todas as fases são executadas seqüencialmente até a fase 'install'. mvnpode executar um objetivo ou uma fase (ou até vários objetivos ou várias fases) da seguinte maneira:
mvn clean install plugin:goal
No entanto, se você desejar personalizar o prefixo usado para referenciar seu plug-in, poderá especificar o prefixo diretamente através de um parâmetro de configuração no POM domaven-plugin-plugin seu plug-in.
A maioria das funcionalidades do Maven está em plugins. Um plug-in fornece um conjunto de objetivos que podem ser executados usando a seguinte sintaxe:
mvn [plugin-name]:[goal-name]
Por exemplo, um projeto Java pode ser compilado com o objetivo de compilação do plug-in do compilador executando mvn compiler:compile.
O ciclo de vida da construção é uma lista de fases nomeadas que podem ser usadas para dar ordem à execução do objetivo.
As metas fornecidas pelos plug-ins podem ser associadas a diferentes fases do ciclo de vida. Por exemplo, por padrão, a metacompiler:compile está associada à compilefase , enquanto a metasurefire:test está associada à testfase . Considere o seguinte comando:
mvn test
Quando o comando anterior é executado, o Maven executa todos os objetivos associados a cada uma das fases, incluindo a testfase. Nesse caso, o Maven executa a resources:resourcesmeta associada à process-resourcesfase compiler:compilee assim sucessivamente até finalmente executar a surefire:testmeta.
No entanto, mesmo que uma fase de construção seja responsável por uma etapa específica no ciclo de vida da construção, a maneira como ela executa essas responsabilidades pode variar. E isso é feito declarando os objetivos do plugin vinculados a essas fases de construção.
Uma meta de plug-in representa uma tarefa específica (mais fina que uma fase de construção) que contribui para a construção e o gerenciamento de um projeto. Pode estar vinculado a zero ou mais fases de construção. Uma meta não vinculada a nenhuma fase de construção pode ser executada fora do ciclo de vida da construção por chamada direta. A ordem de execução depende da ordem na qual a meta (s) e a (s) fase (s) de construção são invocadas. Por exemplo, considere o comando abaixo. Os argumentos cleane packagesão fases de construção, enquanto o dependency:copy-dependenciesé uma meta (de um plugin).
mvn clean dependency:copy-dependencies package
Se isso for executado, a cleanfase será executada primeiro (o que significa que executará todas as fases anteriores do ciclo de vida limpo, mais a cleanprópria fase) e, em seguida, o dependency:copy-dependenciesobjetivo, antes de finalmente executar opackage fase (e todas as fases anteriores de construção de o ciclo de vida padrão).
Além disso, se um objetivo estiver vinculado a uma ou mais fases de construção, esse objetivo será chamado em todas essas fases.
Além disso, uma fase de construção também pode ter zero ou mais metas vinculadas a ela. Se uma fase de construção não tiver objetivos vinculados a ela, essa fase de execução não será executada. Mas se tiver um ou mais objetivos vinculados, ele executará todos esses objetivos.
Ligações do ciclo de vida incorporadas
Algumas fases têm objetivos vinculados a elas por padrão. E para o ciclo de vida padrão, essas ligações dependem do valor da embalagem.
Se eu tiver 2 perfis, posso executar todos os plugins do perfil 1 primeiro e depois o do perfil 2?
Bee
[plugin-name]no exemplo mvn [plugin-name]:[goal-name]é um prefixo de plug - in . mvn clean installnão pode apenas " ser usado em um cenário de vários módulos ". O multi-módulo é um tópico totalmente diferente.
GeroldBroser restabelece Monica 03/02
Os objetivos associados à mesma fase cumprem alguma ordem?
enguia ghEEz
5
A maior parte deste texto é copiada literalmente da documentação do Maven . Isto deve ser claramente indicado!
Lii
fonte incrível!
Bobo
45
A resposta escolhida é ótima, mas ainda assim gostaria de acrescentar algo pequeno ao tópico. Uma ilustração.
Isso demonstra claramente como as diferentes fases se vinculam a diferentes plugins e os objetivos que esses plugins expõem.
Então, vamos examinar um caso de executar algo como mvn compile:
É uma fase que executa o plugin do compilador com objetivo de compilação
O plugin do compilador tem objetivos diferentes. Pois mvn compileé mapeado para uma meta específica, a meta de compilação.
É o mesmo que correr mvn compiler:compile
Portanto, a fase é composta de objetivos do plug-in .
por que está mvn testapontando packagee mvn installapontando deploy?
Abdull
2
Parece um erro de ilustração, obrigado por notá-lo (encontrado na web).
11119 Johnny
3
De onde você tirou a ilustração? Você verificou os direitos autorais e os termos de uso?
Abdull
1
Imagem do @Abdull tirada aqui carminespagnuolo.eu/otheractivities/tutorato/PR-2014-2015/… (e também aparece em muitas outras páginas da web) adicionando-a à resposta. Obrigado por levantar este ponto, não estava ciente da importância dele.
Johnny
1
Os indicadores de fases para plug-ins no diagrama também não estão certos, o jarplug - in é executado na packagefase. E o pom no sanduíche entre as fases e os plugins é um pouco confuso (suponho que deva significar que no pom você pode configurar quais plugins são executados em quais fases, além das ligações padrão). O princípio geral está certo, no entanto.
O Maven define 4 itens de um processo de construção:
Ciclo da vida
Três built-in ciclos de vida (aka ciclos de vida de compilação ): default, clean, site. ( Referência do ciclo de vida )
Estágio
Cada ciclo de vida é composta por fases de , por exemplo, para o defaultciclo de vida: compile, test, package, install, etc.
Plugar
Um artefato que fornece um ou mais objetivos.
Com base no tipo de embalagem ( jar, waretc.), os objetivos dos plug-ins estão vinculados às fases por padrão. ( Ligações do ciclo de vida incorporadas )
Objetivo
A tarefa (ação) que é executada. Um plug-in pode ter um ou mais objetivos.
Um ou mais objetivos precisam ser especificados ao configurar um plug-in em um POM . Além disso, caso um plug-in não tenha uma fase padrão definida, os objetivos especificados podem ser vinculados a uma fase.
Somente as fases do ciclo de vida fazem realmente sentido serem consideradas como "etapas" (de um processo de construção). Prefiro chamá-lo de 4 entidades / itens / coisas .
GeroldBroser restabelece Monica
Quando vejo o mundo Build Phase, penso nele como outra fase do ciclo de vida e isso me confunde.
Quazi Irfan 3/06
26
Eu acredito que uma boa resposta já está prevista, mas eu gostaria de adicionar um diagrama de fácil acompanhamento dos diferentes 3 vida-ciclos ( build, cleane site) e as fases em cada um.
As fases em negrito - são as principais fases comumente usadas.
Resumindo, a partir do link, você não deve tentar entender todos os três de uma vez; primeiro, você deve entender o relacionamento nesses grupos:
Ciclo de vida x fase
Objetivo vs Plug-in
1. Ciclo de Vida x Fase
Ciclo de vida é uma coleção de fases em sequência, veja aqui Referências do ciclo de vida . Quando você chama uma fase , ela também chama todas as fases anteriores a ela.
Por exemplo, o ciclo de vida limpo possui 3 fases ( pré-limpeza, limpeza e pós-limpeza ).
mvn clean
Ele chamará pré-limpo e limpo .
2. Plug-in vs objetivo
O objetivo é como uma ação no plug-in . Portanto, se o plug-in é uma classe, o objetivo é um método.
você pode chamar uma meta como esta:
mvn clean:clean
Isso significa "chame a meta limpa, no plug-in limpo" (nada aqui se refere à fase limpa. Não deixe a palavra "limpa" confundir você, eles não são os mesmos!)
3. Agora, a relação entre Fase e Objetivo:
A fase pode (pré) vincular à (s) meta (s). Por exemplo, normalmente, a fase limpa é vinculada à meta limpa. Então, quando você chama este comando:
mvn clean
Ele chamará a fase de pré-limpeza e a fase de limpeza que se vincula ao objetivo limpo: limpo.
Não precisa ser "associado a 2 ou 3 objetivos" necessariamente. Pode ser nenhum , um ou mais de três também.
GeroldBroser restabelece Monica
1
Existem três ciclos de vida de construção integrados a seguir:
padrão
limpar \ limpo
local
Padrão do ciclo de vida -> [validar, inicializar, gerar fontes, fontes de processo, recursos de geração, recursos de processo, compilação, classes de processo, fontes de teste de geração, fontes de teste de processo, fontes de teste de processo, recursos de teste de geração, processo -test-resources, test-compile, process-test-classes, test, prepare-package, package, pré-integração-teste, integração-teste, pós-integração-teste, verificar, instalar, implantar]
Limpeza do ciclo de vida -> [pré-limpeza, limpeza e pós-limpeza]
Site do ciclo de vida -> [pré-site, site, pós-site, implantação do site]
O fluxo é seqüencial, por exemplo, para o ciclo de vida padrão , começa com validar e depois inicializa e assim por diante ...
Você pode verificar o ciclo de vida ativando o modo de depuração, mvnou seja,mvn -X <your_goal>
Respostas:
Os objetivos são executados em fases que ajudam a determinar a ordem em que os objetivos são executados. O melhor entendimento disso é examinar as ligações padrão do ciclo de vida do Maven, que mostram quais objetivos são executados em quais fases, por padrão. Os objetivos da fase de compilação sempre serão executados antes dos objetivos da fase de teste, que sempre serão executados antes dos objetivos da fase do pacote e assim por diante.
Parte da confusão é exacerbada pelo fato de que, quando você executa o maven, pode especificar um objetivo ou uma fase. Se você especificar uma fase, o maven executará todas as fases até a fase especificada em ordem (por exemplo, se você especificar o pacote, ele primeiro executará a fase de compilação e, em seguida, a fase de teste e, finalmente, a fase do pacote) e, para cada fase, executar todas as metas associadas a essa fase.
Quando você cria uma execução de plug-in no arquivo de construção do Maven e especifica apenas o objetivo, ele o vincula a uma determinada fase padrão. Por exemplo, o objetivo jaxb: xjc é vinculado por padrão à fase generate-resources. No entanto, quando você especifica a execução, também pode especificar explicitamente a fase para esse objetivo.
Se você especificar um objetivo ao executar o Maven, ele executará esse objetivo e somente esse objetivo. Em outras palavras, se você especificar o objetivo jar: jar, ele executará apenas o objetivo jar: jar para empacotar seu código em um jar. Se você não executou a meta de compilação anteriormente ou preparou seu código compilado de alguma outra maneira, isso provavelmente poderá falhar.
fonte
mvn archetype:generate
, e nesse caso o maven apenas executa o objetivo?mvn test
runs:,--- maven-resources-plugin:2.6:resources ... --- maven-compiler-plugin:3.1:compile ... --- maven-resources-plugin:2.6:testResources ... --- maven-compiler-plugin:3.1:testCompile ... --- maven-surefire-plugin:2.12.4:test
enquantomvn compiler:testCompile
apenas executa--- maven-compiler-plugin:3.1:testCompile ...
.mvn clean compiler:testCompile
é executado--- maven-clean-plugin:2.5:clean ... --- maven-compiler-plugin:3.1:testCompile
com falhaFailed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1:testCompile (default-cli) on project mvnphase: Compilation failure ... cannot find symbol ... symbol: variable MvnPhase
(ondeMvnPhase
está a classe em teste referenciada na classe de teste). Aparentemente, as fases não são invocadas se uma meta for invocada explicitamente.O Maven é baseado no conceito central de um Build Life Cycles . Dentro de cada Ciclo de Vida da Construção, existem Fases de Construção , e dentro de cada Fase de Construção, existem Metas de Construção .
Podemos executar uma fase de construção ou meta de construção. Ao executar uma fase de construção, executamos todos os objetivos de construção nessa fase de construção. Metas de construção são atribuídas a uma ou mais fases de construção. Também podemos executar uma meta de construção diretamente.
Existem três principais Ciclos de Vida de Construção integrados :
Cada ciclo de vida da compilação é composto de fases
Por exemplo, o
default
ciclo de vida compreende as seguintes fases de construção :Então, para passar pelas fases acima, basta chamar um comando:
Para o comando acima, iniciando na primeira fase, todas as fases são executadas seqüencialmente até a fase 'install'.
mvn
pode executar um objetivo ou uma fase (ou até vários objetivos ou várias fases) da seguinte maneira:No entanto, se você desejar personalizar o prefixo usado para referenciar seu plug-in, poderá especificar o prefixo diretamente através de um parâmetro de configuração no POM do
maven-plugin-plugin
seu plug-in.Uma fase de criação é composta de objetivos de plug-in
A maioria das funcionalidades do Maven está em plugins. Um plug-in fornece um conjunto de objetivos que podem ser executados usando a seguinte sintaxe:
Por exemplo, um projeto Java pode ser compilado com o objetivo de compilação do plug-in do compilador executando
mvn compiler:compile
.O ciclo de vida da construção é uma lista de fases nomeadas que podem ser usadas para dar ordem à execução do objetivo.
As metas fornecidas pelos plug-ins podem ser associadas a diferentes fases do ciclo de vida. Por exemplo, por padrão, a meta
compiler:compile
está associada àcompile
fase , enquanto a metasurefire:test
está associada àtest
fase . Considere o seguinte comando:Quando o comando anterior é executado, o Maven executa todos os objetivos associados a cada uma das fases, incluindo a
test
fase. Nesse caso, o Maven executa aresources:resources
meta associada àprocess-resources
fasecompiler:compile
e assim sucessivamente até finalmente executar asurefire:test
meta.No entanto, mesmo que uma fase de construção seja responsável por uma etapa específica no ciclo de vida da construção, a maneira como ela executa essas responsabilidades pode variar. E isso é feito declarando os objetivos do plugin vinculados a essas fases de construção.
Uma meta de plug-in representa uma tarefa específica (mais fina que uma fase de construção) que contribui para a construção e o gerenciamento de um projeto. Pode estar vinculado a zero ou mais fases de construção. Uma meta não vinculada a nenhuma fase de construção pode ser executada fora do ciclo de vida da construção por chamada direta. A ordem de execução depende da ordem na qual a meta (s) e a (s) fase (s) de construção são invocadas. Por exemplo, considere o comando abaixo. Os argumentos
clean
epackage
são fases de construção, enquanto odependency:copy-dependencies
é uma meta (de um plugin).Se isso for executado, a
clean
fase será executada primeiro (o que significa que executará todas as fases anteriores do ciclo de vida limpo, mais aclean
própria fase) e, em seguida, odependency:copy-dependencies
objetivo, antes de finalmente executar opackage
fase (e todas as fases anteriores de construção de o ciclo de vida padrão).Além disso, se um objetivo estiver vinculado a uma ou mais fases de construção, esse objetivo será chamado em todas essas fases.
Além disso, uma fase de construção também pode ter zero ou mais metas vinculadas a ela. Se uma fase de construção não tiver objetivos vinculados a ela, essa fase de execução não será executada. Mas se tiver um ou mais objetivos vinculados, ele executará todos esses objetivos.
Ligações do ciclo de vida incorporadas
Algumas fases têm objetivos vinculados a elas por padrão. E para o ciclo de vida padrão, essas ligações dependem do valor da embalagem.
Arquitetura Maven:
Referência 1
Referência 2
Amostra Eclipse para Mapeamento do Ciclo de Vida do Maven
fonte
[plugin-name]
no exemplomvn [plugin-name]:[goal-name]
é um prefixo de plug - in .mvn clean install
não pode apenas " ser usado em um cenário de vários módulos ". O multi-módulo é um tópico totalmente diferente.A resposta escolhida é ótima, mas ainda assim gostaria de acrescentar algo pequeno ao tópico. Uma ilustração.
Isso demonstra claramente como as diferentes fases se vinculam a diferentes plugins e os objetivos que esses plugins expõem.
Então, vamos examinar um caso de executar algo como
mvn compile
:mvn compile
é mapeado para uma meta específica, a meta de compilação.mvn compiler:compile
Portanto, a fase é composta de objetivos do plug-in .
Link para a referência
fonte
mvn test
apontandopackage
emvn install
apontandodeploy
?jar
plug - in é executado napackage
fase. E o pom no sanduíche entre as fases e os plugins é um pouco confuso (suponho que deva significar que no pom você pode configurar quais plugins são executados em quais fases, além das ligações padrão). O princípio geral está certo, no entanto.As definições estão detalhadas na página do site do Maven Introdução ao ciclo de vida da construção , mas tentei resumir :
O Maven define 4 itens de um processo de construção:
Ciclo da vida
Três built-in ciclos de vida (aka ciclos de vida de compilação ):
default
,clean
,site
. ( Referência do ciclo de vida )Estágio
Cada ciclo de vida é composta por fases de , por exemplo, para o
default
ciclo de vida:compile
,test
,package
,install
, etc.Plugar
Um artefato que fornece um ou mais objetivos.
Com base no tipo de embalagem (
jar
,war
etc.), os objetivos dos plug-ins estão vinculados às fases por padrão. ( Ligações do ciclo de vida incorporadas )Objetivo
A tarefa (ação) que é executada. Um plug-in pode ter um ou mais objetivos.
Um ou mais objetivos precisam ser especificados ao configurar um plug-in em um POM . Além disso, caso um plug-in não tenha uma fase padrão definida, os objetivos especificados podem ser vinculados a uma fase.
O Maven pode ser chamado com:
clean
,package
)<plugin-prefix>:<goal>
(por exemplodependency:copy-dependencies
)<plugin-group-id>:<plugin-artifact-id>[:<plugin-version>]:<goal>
(por exemploorg.apache.maven.plugins:maven-compiler-plugin:3.7.0:compile
)com uma ou mais combinações de uma ou de todas, por exemplo:
fonte
Build Phase
, penso nele como outra fase do ciclo de vida e isso me confunde.Eu acredito que uma boa resposta já está prevista, mas eu gostaria de adicionar um diagrama de fácil acompanhamento dos diferentes 3 vida-ciclos (
build
,clean
esite
) e as fases em cada um.As fases em negrito - são as principais fases comumente usadas.
fonte
generate-resources
aparece duas vezes egenerate-sources
está ausente.Crédito para Sandeep Jindal e Premraj. A explicação deles me ajuda a entender depois de confuso sobre isso por um tempo.
Criei alguns exemplos de código completo e algumas explicações simples aqui https://www.surasint.com/maven-life-cycle-phase-and-goal-easy-explained/ . Eu acho que isso pode ajudar os outros a entender.
Resumindo, a partir do link, você não deve tentar entender todos os três de uma vez; primeiro, você deve entender o relacionamento nesses grupos:
1. Ciclo de Vida x Fase
Ciclo de vida é uma coleção de fases em sequência, veja aqui Referências do ciclo de vida . Quando você chama uma fase , ela também chama todas as fases anteriores a ela.
Por exemplo, o ciclo de vida limpo possui 3 fases ( pré-limpeza, limpeza e pós-limpeza ).
Ele chamará pré-limpo e limpo .
2. Plug-in vs objetivo
O objetivo é como uma ação no plug-in . Portanto, se o plug-in é uma classe, o objetivo é um método.
você pode chamar uma meta como esta:
Isso significa "chame a meta limpa, no plug-in limpo" (nada aqui se refere à fase limpa. Não deixe a palavra "limpa" confundir você, eles não são os mesmos!)
3. Agora, a relação entre Fase e Objetivo:
A fase pode (pré) vincular à (s) meta (s). Por exemplo, normalmente, a fase limpa é vinculada à meta limpa. Então, quando você chama este comando:
Ele chamará a fase de pré-limpeza e a fase de limpeza que se vincula ao objetivo limpo: limpo.
É quase o mesmo que:
Mais detalhes e exemplos completos estão em https://www.surasint.com/maven-life-cycle-phase-and-goal-easy-explained/
fonte
Maven terminologia de trabalho com fases e objetivos.
Fase: a fase Maven é um conjunto de ações que está associado a 2 ou 3 objetivos.
exemplo: - se você executar o mvn clean
esta é a fase que irá executar o objetivo mvn clean: clean
Objetivo: objetivo do Maven limitado à fase
para referência http://books.sonatype.com/mvnref-book/reference/lifecycle-sect-structure.html
fonte
Existem três ciclos de vida de construção integrados a seguir:
Padrão do ciclo de vida -> [validar, inicializar, gerar fontes, fontes de processo, recursos de geração, recursos de processo, compilação, classes de processo, fontes de teste de geração, fontes de teste de processo, fontes de teste de processo, recursos de teste de geração, processo -test-resources, test-compile, process-test-classes, test, prepare-package, package, pré-integração-teste, integração-teste, pós-integração-teste, verificar, instalar, implantar]
Limpeza do ciclo de vida -> [pré-limpeza, limpeza e pós-limpeza]
Site do ciclo de vida -> [pré-site, site, pós-site, implantação do site]
O fluxo é seqüencial, por exemplo, para o ciclo de vida padrão , começa com validar e depois inicializa e assim por diante ...
Você pode verificar o ciclo de vida ativando o modo de depuração,
mvn
ou seja,mvn -X <your_goal>
fonte