maven-2 - smartgsm - zte maven 2 root
¿Una línea de comando simple para descargar un artefacto maven2 remoto al repositorio local? (3)
Tengo una biblioteca que distribuyo usando maven 2. El usuario típico de esta biblioteca no usa maven para construir sus aplicaciones, pero es probable que esté familiarizado con maven y probablemente lo tenga instalado.
Me gustaría documentar un comando de una línea "simple" que puedan usar para descargar los artefactos de mi biblioteca a su ~/.m2/repository
local 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 mirar a través de la install:install-file
y la documentación del complemento de dependency
. Intenté 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 estoy ladrando el árbol equivocado, ya que parece que el complemento de instalación se usa para copiar archivos generados 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?
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 el indicador -Ddest. Debería apuntar a un nombre de archivo (no a un directorio) para el artefacto de destino. Consulte la dependency:get para conocer los parámetros adicionales que se pueden usar
mvn org.apache.maven.plugins:maven-dependency-plugin:2.4:get /
-DremoteRepositories=http://download.java.net/maven/2 /
-Dartifact=robo-guice:robo-guice:0.4-SNAPSHOT /
-Ddest=c:/temp/robo-guice.jar
Déles un pom trivial con estos frascos enumerados como dependencias e instrucciones para ejecutar:
mvn dependency:go-offline
Esto atraerá las dependencias al repositorio local.
Una solución más directa es la dependency:get , pero hay muchos argumentos para escribir:
mvn dependency:get -DrepoUrl=something -Dartifact=group:artifact:version
Desde la versión 2.1 del Complemento Dependency Maven , existe una dependency:get meta para este propósito. Para asegurarse de que está utilizando la versión correcta del complemento, deberá usar el "nombre completo":
mvn org.apache.maven.plugins:maven-dependency-plugin:2.1:get / -DrepoUrl=http://download.java.net/maven/2/ / -Dartifact=robo-guice:robo-guice:0.4-SNAPSHOT