[caption id="attachment_186" align="alignnone" width="300"] Maven[/caption]
Por padrão o maven executa todos os teste unitários do projeto sempre que você executa o build ( package ) . O problema disto é que algumas vezes apenas precisamos atualizar a aplicação e em alguns dias fazemos isso milhares de vezes.
O maven nos da algumas opções para dinamizar esta execução.
Skiping tests:
Ao executar o maven informando o parâmetro "-Dmaven.skip.test=true" indica que o build deve ser executado sem os testes unitários.
mvn -Dmaven.skip.test=true package
Melhorando o tempo de execução do Maven
Seguem abaixo algumas dicas para melhorar o tempo de execução.
OBS: Algumas destas podem aumentar consideravelmente o uso de CPU.
Sem conectar a internet:
Temos também a opção de forçar o maven a trabalhar offline com o parâmetro "-o". Por padrão todas as dependências do projeto são salvas localmente como em um serviço de cache, e sendo assim este parâmetro não fará muita diferença.
Ex.:
mvn -Dmaven.skip.test=true -o package
Para isto é recomendado que antes você execute o seguinte comando para que sejam baixadas todas as dependências e salvas no cache:
mvn dependency:go-offline
Sem logs:
Em algumas situações você pode não querer ver tudo o que o maven esta fazendo. Para isto temos a opção de executa-lo em modo "silencioso" com o parâmetro "-q".
Ex.:
mvn -Dmaven.skip.test=true -o -q package
Multi thread:
É possível especificar a quantidades de threads serão utilizadas no processo de build. Este é um recurso que deve ser utilizado com cautela pois existem muitos fatore que podem influenciar no desempenho do build, como número de núcleos do processador, quantidade de submodulos do projeto e quantidade de tasks a serem executadas dentre outros fatores.
mvn -Dmaven.skip.test=true -o -q -T 4 package # inicia 4 Threads
mvn -Dmaven.skip.test=true -o -q -T 4C package # inicia 4 threads por núcleo da cpu disponíveis