que - maven tutorial español
¿Qué es una dependencia transitiva de Maven? (1)
Esta pregunta está a punto de aclarar qué es exactamente una dependencia transitiva y cómo funciona a un nivel muy alto en Maven.
Mi definición: en un árbol de dependencia como A -> B -> C , C es una dependencia transitiva para A. Supongamos que B tiene alcance de compilación dentro de A.
Si C tiene alcance, compile dentro de B , entonces declarar B como dependencia de A es suficiente para construir A con Maven. Pero si C tiene alcance provisto dentro de B , entonces, cuando Maven construye A , el edificio no compilará automáticamente A contra C a menos que A declare C entre sus dependencias.
¿Es esto correcto?
Tu suposición es correcta.
Hay dos tipos de dependencias de Maven:
Directo: son dependencias definidas en su archivo
pom.xmlen la sección<dependencies/>.Transitivo: son dependencias que son dependencias de sus dependencias directas.
Las dependencias con alcance provided están destinadas a:
- Se puede excluir del artefacto final (por ejemplo, para
wararchivoswarque no querría incluirservlet-api,servlet-jsp, etc.) - O sobrescribir: donde el proyecto que los hereda define una versión y / o anula el alcance