Tenho lido sobre o reator Maven e estou confuso com o uso da terminologia. Eu li que um multimódulo é um reator, que você pode manipular o reator maven e que o reator é um plugin. O que exatamente é o reator?
Tenho lido sobre o reator Maven e estou confuso com o uso da terminologia. Eu li que um multimódulo é um reator, que você pode manipular o reator maven e que o reator é um plugin. O que exatamente é o reator?
Respostas:
O reator é a parte do Maven que permite executar uma meta em um conjunto de módulos. Conforme mencionado na documentação do Maven 1.x em compilações de vários módulos (o conceito de reator já estava lá no Maven 1.x), embora os módulos sejam unidades de trabalho discretas, eles podem ser reunidos usando o reator para criá-los simultaneamente e:
O reator determina a ordem de construção correta a partir das dependências declaradas por cada projeto em seus respectivos descritores de projeto e, então, executará um conjunto declarado de metas. Ele pode ser usado para projetos de construção e outros objetivos, como a geração de sites.
Conforme explicado, o reator é o que torna possível as compilações de vários módulos: ele calcula o gráfico direcionado de dependências entre os módulos, deriva a ordem de compilação deste gráfico (é por isso que as dependências cíclicas não são permitidas, o que é bom de qualquer maneira) e, em seguida, executa metas em os módulos. Em outras palavras, uma "construção de vários módulos " é uma " construção de reator " e uma " construção de reator " é uma "construção de vários módulos ".
No Maven 2.x, o suporte a construções de vários módulos foi muito melhorado e o reator se tornou transparente para os usuários do Maven. Mas ele ainda está lá e é usado sob o capô.
Em setembro de 2008 (ou seja, muito tempo após o lançamento do Maven 2), um plug - in do reator foi criado para possibilitar uma interação (novamente) mais próxima com o reator Maven. Brett Porter postou sobre isso em Reactor: Meu novo plugin Maven favorito .
A maioria dos recursos do plug-in do reator agora tem suporte nativo (desde o Maven 2.1.0). Consulte Dicas e truques do Maven: opções avançadas do reator .
O Reactor é usado quando um projeto tem vários módulos.
O trabalho realizado pelo reator é:
A partir da versão 2.1, há novas opções de linha de comando que permitem manipular a maneira como o Maven construirá projetos de vários módulos. Essas novas opções são:
-rf, --resume-from
Resume reactor from specified project
-pl, --projects
Build specified reactor projects instead of all projects
-am, --also-make
If project list is specified, also build projects required by the list
-amd, --also-make-dependents
If project list is specified, also build projects that depend on projects on the list