Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Dúvida no Ex. 4 da Aula 5 - Escopos e dependência entre projetos

Pessoal, estou com a seguinte dúvida com relação a tag <exclusion> do Maven.

Bom, imaginemos que eu tenho um projeto modularizado em 3 partes:

+ pai
    + filho_1
    + filho_2

O projeto filho_1, possui uma dependência ao Spring Core, por exemplo.

O projeto filho_2, não possui tal dependência, ou seja, ele não utilizará o Spring Core para nada.

Através da tag <exclusion> incluída no pom do projeto filho_2 é possível descartar essa dependência, porém sem quebrar o projeto filho_2?

Valeu!

2 respostas

Oi Rafael, a dependência spring-core está definida no pai?

abs

solução!

Rafael,

Em um projeto do Maven que possui módulos, as dependências de um filho não influenciam nas de outro. Só se um filho depender de outro filho.

Ou seja, o fato do filho_1 depender do Spring Core não faz com que o filho_2 dependa também. Então, o <exclusion> não é necessário.

Agora, se o filho_2 depender do filho_1, ele vai ter uma dependência transitiva com o Spring Core. Nesse caso, você até pode colocar um <exclusion>. Só que não vai ser uma boa: o filho_1 pode parar de funcionar!

No caso da dependência do Spring Core estar no pai, você não pode colocar o <exclusion>. Não funciona! (na verdade você pode tentar umas gambiarras, mas você estaria usando a ferramenta de maneira errada)

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software