J'aimerais télécharger un artefact et ses dépendances en ligne de commande. C'est à dire.
mvn [some plugin]:[goal] -DartifactId=[artifactId] -DgroupId=[groupId] -Dversion=[version]
J'ai essayé mvn dependency: get mais cela semble nécessiter une liste de référentiels distants. Je veux que MVN utilise ce qui est déjà spécifié dans settings.xml
J'ai aussi essayé le maven-download-plugin mais cela ne semble pas fonctionner correctement (il a essayé de télécharger xerces-impl comme dépendance transitive de ant et n'a pas réussi à le résoudre. dépendances de mon artefact).
Votre aide serait appréciée.
Essayez d’utiliser la dernière version de dependency: get, ça marche pour moi
mvn org.Apache.maven.plugins:maven-dependency-plugin:2.4:get -DartifactId=[artifactId] -DgroupId=[groupId] -Dversion=[version]
travaille pour moi
L'objectif copy
est plus approprié ici et vous permet également de spécifier un répertoire de sortie (obsolète dans l'objectif 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
supprimera les horodatages des versions d'instantané.
Exemple pour télécharger la version 6.9.4 de TestNG sur votre répertoire ~/.m2/(utilisez maven-dependency-plugin: get):
mvn org.Apache.maven.plugins:maven-dependency-plugin:RELEASE:get \
-Dartifact=org.testng:testng:6.9.4:jar
Exemple pour télécharger la version 4.11 de JUnit dans votre répertoire de travail actuel (utilise maven-dependency-plugin: copy):
mvn org.Apache.maven.plugins:maven-dependency-plugin:RELEASE:copy \
-Dartifact=junit:junit:4.11:jar
La solution la plus simple serait de créer un simple pom avec les dépendances appropriées et de faire le paquet propre à MVN sur ce mini projet.