programming pom plugin homepage exclude dependency compiler maven ivy

pom - maven-compiler-plugin



¿Cómo se mapean los alcances de Maven en hiedra? (1)

Los repositorios de Maven, como Maven Repository, ofrecen la más amplia gama de proyectos para gestión de dependencias.

Ivy ofrece la posibilidad de acceder a repositorios maven y descargar artefactos desde allí. Solo hay archivos pom en esos repositorios y no hay ivy.xml.

Se pueden recuperar con un resolvedor ivy que se ejecuta en modo compatible con m2 .

<ibiblio name="maven2" m2compatible="true"/>

Especialmente para este caso de uso, quiero saber:

  • qué ámbitos están disponibles por defecto y qué artefactos ofrecerán
  • ¿Cómo se mapeó un maven en una configuración / configuración de hiedra?

Los dos artículos siguientes me ayudaron a comprender mejor cómo interfuncionan Maven e Ivy

Curiosamente, nunca entendí las configuraciones de la hiedra, hasta que se explicó cómo se pueden usar para simular los alcances de Maven.

La siguiente lista es del http://www.symphonious.net/2010/01/25/using-ivy-for-dependency-management/ e ilustra las configuraciones disponibles de los repositorios pom-files / maven:

  • las dependencias de tiempo de ejecución predeterminadas y el artefacto maestro se pueden usar con este conf
  • master contiene solo el artefacto publicado por este módulo, sin dependencias transitivas
  • compilar este es el alcance predeterminado, utilizado si no se especifica ninguno. Las dependencias de compilación están disponibles en todos los classpaths
  • siempre que esto sea muy similar a la compilación, pero indica que espera que el JDK o un contenedor lo proporcione. Solo está disponible en el classpath de compilación, y no es transitivo
  • En tiempo de ejecución, este ámbito indica que la dependencia no es necesaria para la compilación, pero es para la ejecución. Está en los classpaths de tiempo de ejecución y de prueba, pero no en el classpath de compilación
  • probar este alcance indica que la dependencia no es necesaria para el uso normal de la aplicación, y solo está disponible para las fases de compilación y ejecución de pruebas
  • sistema este ámbito es similar al proporcionado, excepto que debe proporcionar el JAR que lo contiene explícitamente.
  • fuentes esta configuración contiene el artefacto fuente de este módulo, si hay Fuente para el proyecto
  • javadoc esta configuración contiene el artefacto javadoc de este módulo, si hay algún JavaDoc para el proyecto
  • opcional contiene todas las dependencias opcionales