estados de referencia POM de Maven lo siguiente:¿Es el alcance del 'sistema' de Maven transitivo, pero 'proporcionado' no?
proporcionado - esto es muy similar a la compilación, sino que indica que espera la JDK o un recipiente para proporcionar al tiempo de ejecución. Solo está disponible en el classpath de compilación y prueba , y no es transitivo.
...
sistema - este alcance es similar al proporcionado excepto que usted tiene que proporcionan el JAR que lo contiene explícitamente. El artefacto siempre está disponible y no se busca en un repositorio .
Ahora he convertido un proyecto con muchas dependencias de 'sistema' a 'proporcionado'. Sin embargo, parece que las dependencias del sistema son transitivas, lo que las hace muy poco similares a las que se ofrecen, y ahora están causando muchas dependencias faltantes en mi compilación. Mi pregunta es doble:
- ¿El alcance del sistema es transitivo? Si es así, ¿la referencia de Maven es incorrecta o está incompleta?
- ¿Hay alguna manera de hacer que las dependencias sean transitivas, sin empaquetarlas en el ensamblaje final?
¿Qué quiere decir por "hacer dependencias transitivas"? (En cuanto al alcance del sistema, su justificación es "las dependencias del sistema son especialmente útiles para resolver dependencias en artefactos que ahora proporciona el JDK, pero que están disponibles como descargas separadas antes" ... eso no tiene ningún sentido para mí, ya que necesita para cambiar el POM una vez que es provisto por el JDK de todos modos, así que también podría cambiar el alcance a proporcionado.) –
el alcance del 'sistema' es similar a' provided' ya que indica que la dependencia será proporcionada por algo más que Maven . –