Quando você constrói com o maven em uma máquina com vários núcleos / várias CPUs, geralmente é possível criar subprojetos diferentes em paralelo. Existe uma maneira de fazer isso com o maven? Existe um plugin para isso?
maven-2
build-process
build-automation
Hans-Peter Störr
fonte
fonte
As soluções sugeridas são ótimas, mas eu gostaria de acrescentar algo às respostas aqui sobre a estabilidade do teste durante compilações paralelas .
Portanto, quando a compilação paralela do Maven é usada:
Alguns problemas com os testes podem aparecer. Observe qualquer comportamento nos testes que seja diferente entre a execução serial e paralela. Na maioria das vezes, isso acontece para testar o isolamento inadequado em termos de recursos .
Por exemplo, test1 manipula a entrada db com a chave 12345, que é codificada permanentemente e test2 usa a mesma entrada! Não pode ser bom ...
É uma situação que deve ser considerada em primeiro lugar, mas às vezes é esquecida e pode levar a problemas diferentes assim que a mudança para a construção de maven paralela for feita.
Caso isso aconteça, e você ainda queira usar a execução paralela pelo menos em algumas ocasiões, é possível (é claro, além de tentar corrigir o teste e torná-los adequadamente isolados) desativar o Maven usando o argumento -DskipTests:
fonte
Alguns aplicativos de criação de IC (por exemplo, hudson) podem criar vários projetos de maven ao mesmo tempo (e até em várias máquinas).
O suporte para isso no maven 'autônomo' também seria bom, uma rápida olhada no rastreador de problemas do maven me deu: http://jira.codehaus.org/browse/MNG-3004
fonte
Se você chegou a esta pergunta procurando resolver o seu servidor de compilação e não está usando um que lide com o maven nativamente, a bandeira mágica que você procura é a seguinte:
faça isso para cada uma de suas compilações e você poderá deixá-las rodar ao mesmo tempo, em vez de ter tudo o que usa o maven em uma fila!
fonte