Pergunta

Eu tenho lido sobre o Maven Reactor e estou confuso com seu uso de terminologia. Eu li o A Multi-Module é um reator, que você pode manipular o reator Maven e que o reator é um plug-in. O que exatamente é o reator?

Foi útil?

Solução

O reator é a parte do Maven que permite executar uma meta em um conjunto de módulos. Como mencionado no Maven 1.x Documentação sobre compilações de vários módulos (O conceito de reator já estava lá no maven 1.x), enquanto os módulos são unidade de trabalho discreta, eles podem ser reunidos usando o reator para construí -los simultaneamente e:

O reator determina a ordem de construção correta das dependências declaradas por cada projeto em seus respectivos descritores do projeto e executará um conjunto de metas declarado. 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 criações multimódulos: calcula o gráfico direcionado de dependências entre os módulos, deriva a ordem de construção deste gráfico (é por isso que as dependências cíclicas não são permitidas, o que é bom de qualquer maneira) e depois executa metas em metas em os módulos. Em outras palavras, um "Building de vários módulos" é um "construção de reator"E um"construção de reator" é um "Building de vários módulos".

No Maven 2.x, o suporte de compilações multimódulos foi muito aprimorado e o reator tornou-se transparente aos usuários do Maven. Mas 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 interagir (novamente) mais de perto com o reator Maven. Brett Porter blogou sobre isso em Reator: meu novo plug -in favorito do Maven.

A maioria dos recursos do plug -in do reator agora é suportada nativamente (desde o Maven 2.1.0). Ver Dicas e truques do Maven: opções avançadas de reator.

Outras dicas

O reator é usado quando um projeto possui multi-módulo.

Os trabalhos realizados pelo reator são:

  • Coletando os detalhes do módulo
  • Classificando o pedido com base em dependências
  • Constrói os projetos em ordem

Começando com a versão do MAVEN 2.1, existem novas opções de linha de comando Maven que permitem manipular a maneira como o MAVEN criará projetos multimó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  

fonte

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top