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.xml
en 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
war
archivoswar
que 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