J'ai une bibliothèque que je distribue en utilisant maven 2. L'utilisateur typique de cette bibliothèque n'utilise pas maven pour construire ses applications, mais est probablement un peu familier avec maven et l'a probablement installé.
Je voudrais documenter une commande "simple" d'une ligne qu'ils peuvent utiliser pour télécharger les artefacts de ma bibliothèque dans leur local ~/.m2/repository
sans exiger qu'ils mettent en place un pom.xml pour le faire.
Je pensais qu'il y avait un moyen de le faire, mais je n'arrive pas à le trouver après avoir parcouru la documentation du plugin install:install-file
et dependency
. J'ai essayé des choses comme:
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
mais je pense que j'aboie le mauvais arbre car il semble que le plugin d'installation est utilisé pour copier des fichiers construits localement dans le référentiel local, plutôt que pour télécharger des artefacts distants dans le référentiel local.
Voici l'artefact que je voudrais installer: http://download.java.net/maven/2/robo-guice/robo-guice/0.4-SNAPSHOT/
Est-ce possible avec maven?
Réponses:
Depuis la version 2.1 du Maven Dependency Plugin , il existe une dépendance: get goal à cet effet. Pour vous assurer que vous utilisez la bonne version du plugin, vous devrez utiliser le "nom complet":
la source
Deprecated. Use remoteRepositories
pourrepoUrl
. Veuillez mettre à jour la réponse peut-être :)Donnez-leur un pom trivial avec ces jars répertoriés comme dépendances et instructions à exécuter:
Cela attirera les dépendances vers le dépôt local.
Une solution plus directe est la dépendance: get , mais il y a beaucoup d'arguments à taper:
la source
get
mojo s'attend en fait-DrepoUrl
à être présent, non-DrepositoryUrl
. Concernant les arguments à taper, il n'y a pas de magie, il faut fournir ces informations d'une manière ou d'une autre.Depuis la version 2.4 du plugin de dépendance Maven , vous pouvez également définir une destination cible pour l'artefact en utilisant l'indicateur -Ddest. Il doit pointer vers un nom de fichier (pas un répertoire) pour l'artefact de destination. Voir la page des paramètres pour les paramètres supplémentaires qui peuvent être utilisés
la source