pom plugin example dependency compiler central maven maven-plugin maven-3

example - ¿Cómo descargo un artefacto Maven en la línea de comandos sin usar la dependencia: get o maven-download-plugin?



maven-compiler-plugin (4)

Me gustaría descargar un artefacto y sus dependencias en la línea de comando. Es decir

mvn [some plugin]:[goal] -DartifactId=[artifactId] -DgroupId=[groupId] -Dversion=[version]

Intenté la dependencia mvn: get, pero parece que esto requiere una lista de repositorios remotos. Quiero que mvn use lo que ya está especificado en settings.xml

También probé el maven-download-plugin, pero parece que no funciona bien (intentó descargar xerces-impl como una dependencia transitiva de hormiga y no pudo resolverlo. Ni xerces-impl ni ant son dependencias de mi artefacto )

Tu ayuda será apreciada.


Intenta usar la última versión de la dependencia: get, me funciona

mvn org.apache.maven.plugins:maven-dependency-plugin:2.4:get -DartifactId=[artifactId] -DgroupId=[groupId] -Dversion=[version]

funciona para mi


La solución más simple sería crear un pom simple con las dependencias apropiadas y hacer un paquete de mvn clean en ese mini proyecto ...


El objetivo de copy es más apropiado aquí y le permite especificar también un directorio de salida (que está obsoleto en el objetivo get ):

mvn org.apache.maven.plugins:maven-dependency-plugin:2.8:copy -Dartifact=groupId:artifactId:version[:packaging][:classifier] -DoutputDirectory=[target] -Dmdep.useBaseVersion=true

mdep.useBaseVersion=true eliminará las marcas de tiempo de las compilaciones de instantáneas.


Ejemplo para descargar la versión 6.9.4 de TestNG a su local ~ / .m2 / repository (usa maven-dependency-plugin: get):

mvn org.apache.maven.plugins:maven-dependency-plugin:RELEASE:get / -Dartifact=org.testng:testng:6.9.4:jar

Ejemplo para descargar la versión 4.11 de JUnit a su directorio de trabajo actual (utiliza maven-dependency-plugin: copy):

mvn org.apache.maven.plugins:maven-dependency-plugin:RELEASE:copy / -Dartifact=junit:junit:4.11:jar