Tengo una biblioteca que distribuyo usando maven 2. El usuario típico de esta biblioteca no usa maven para construir sus aplicaciones, pero probablemente esté algo familiarizado con maven y probablemente lo tenga instalado.
Me gustaría documentar un comando "simple" de una línea que puedan usar para descargar los artefactos de mi biblioteca a su local ~/.m2/repository
sin requerir que configuren un pom.xml para hacerlo.
Pensé que había una manera de hacer esto, pero parece que no puedo encontrarlo después de revisar la documentación del complemento install:install-file
y dependency
. Probé cosas como:
mvn install:install-file -DrepositoryId=java.net -Durl=http://download.java.net/maven/2/ -Dfile=robo-guice-0.4-20091121.174618-1.jar -DpomFile=robo-guice-0.4-20091121.174618-1.pom -DgroupId=robo-guice -DartifactId=robo-guice -Dversion=0.4-SNAPSHOT -Dpackaging=jar
pero creo que me estoy equivocando de árbol, ya que parece que el complemento de instalación se usa para copiar archivos construidos localmente en el repositorio local, en lugar de descargar artefactos remotos en el repositorio local.
Este es el artefacto que me gustaría instalar: http://download.java.net/maven/2/robo-guice/robo-guice/0.4-SNAPSHOT/
¿Es esto posible usando maven?
Respuestas:
Desde la versión 2.1 del complemento de dependencia de Maven , existe una dependencia: obtener objetivo para este propósito. Para asegurarse de que está utilizando la versión correcta del complemento, deberá utilizar el "nombre completo":
fuente
Deprecated. Use remoteRepositories
pararepoUrl
. Actualice la respuesta tal vez :)Dales un pom trivial con estos frascos enumerados como dependencias e instrucciones para ejecutar:
Esto atraerá las dependencias al repositorio local.
Una solución más directa es la dependencia: obtener , pero hay muchos argumentos para escribir:
fuente
get
mojo espera-DrepoUrl
estar presente, no-DrepositoryUrl
. En cuanto a los argumentos a escribir, no hay magia, es necesario que proporciones esta información de una forma u otra.A partir de la versión 2.4 del complemento de dependencia de Maven , también puede definir un destino de destino para el artefacto utilizando la marca -Ddest. Debe apuntar a un nombre de archivo (no a un directorio) para el artefacto de destino. Consulte la página de parámetros para conocer los parámetros adicionales que se pueden utilizar
fuente