Pergunta

Estou trabalhando em um projeto de vários módulos do Maven.Quero construir um determinado módulo e pular os testes de unidade para acelerar o processo de construção.

Eu tentei o seguinte:

mvn reactor:make -Dmake.folders=search -Dgoals=package,-DskipTests

mvn reactor:make -Dmake.folders=search -Dgoals=package -Dmaven.test.skip=True

No entanto, isso não tem efeito algum.Alguma pista?

Foi útil?

Solução

Sua primeira linha parece a ideia certa, mas em vez de -Dgoals você deveria usar -Dmake.goals.

De página de exemplos de plugins de reator:

O plug -in do reator lança uma segunda cópia do Maven para fazer sua mágica.Esta cópia do MAVEN não tem necessariamente todas as bandeiras e opções que você passou para sua primeira cópia do MAVEN, incluindo o sinalizador -Debug, propriedades do sistema e -Dskiptests.

Você pode passar argumentos adicionais ao Maven Skiled, tratando -os como objetivos com -dmake.goals, como este:

mvn reactor:resume -Dmake.folders=barBusinessLogic -Dmake.goals=install,-DskipTests

Em outras palavras, os "objetivos" são apenas parâmetros extras da linha de comando passados ​​para o Maven Skiled;Eles não precisam necessariamente ser "objetivos".

Se você quiser se tornar realmente chique, pode preferir apenas o plug -in de reator no modo -dmake.printonly, descrito acima.Isso imprimirá o comando que o plugin teria usado para construir, mas você pode ajustar essa linha de comando para o conteúdo do seu coração!

Outras dicas

Dada a estrutura do projeto

/
  A/pom.xml
  B/pom.xml
  C/pom.xml
  D/pom.xml
  E/pom.xml
  pom.xml (parent pom file that includes A,B,C,D,E modules)

Semelhante ao seu

mvn reactor:make -Dmake.folders=C,D,E -Dgoals=package -Dmaven.test.skip=True

Embora eu não tenha certeza se minha abordagem faz exatamente o que o plugin do reator faz, mas achei a seguinte abordagem funcionou bem o suficiente para mim

mvn -pl=C,D,E -DskipTests=true package

Você já tentou incluir a opção -Dmaven.test.skip = true (Observe o caso) para o seu argumento da linha de comando que você está executando? Como Java, Maven é sensível ao minúsculo. Mas, geralmente, você pode abandonar a = parte verdadeira e isso também deve fazer com que os testes sejam ignorados.

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