J'ai une bibliothèque que je distribue à l'aide de maven 2. L'utilisateur type de cette bibliothèque n'utilise pas maven pour créer ses applications, mais il est probablement un peu familier avec maven et l'a probablement installé.
Je voudrais documenter une "simple" commande d'une ligne qu'ils peuvent utiliser pour télécharger les artefacts de ma bibliothèque dans leur ~/.m2/repository
Local sans exiger qu'ils configurent un fichier pom.xml.
Je pensais qu'il y avait un moyen de faire cela, mais je n'arrive pas à le trouver après avoir consulté 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 je me trompe d'arborescence puisqu'il semble que le plug-in d'installation soit utilisé pour copier des fichiers créés localement dans le référentiel local, plutôt que de télécharger des artefacts distants dans le référentiel local.
Voici l'artefact que j'aimerais installer: http://download.Java.net/maven/2/robo-guice/robo-guice/0.4-SNAPSHOT/
Est-ce possible d'utiliser maven?
Depuis la version 2.1 du Maven Dependency Plugin , il existe un objectif dependency: get à cet effet. Pour vous assurer que vous utilisez la bonne version du plugin, vous devez utiliser le "nom complet":
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
Donnez-leur un pom trivial avec ces jars répertoriés comme dépendances et instructions pour exécuter:
mvn dependency:go-offline
Cela va tirer les dépendances vers le référentiel local.
Une solution plus directe est dependency: get , mais il y a beaucoup d'arguments à taper:
mvn dependency:get -DrepoUrl=something -Dartifact=group:artifact:version
À partir de la version 2.4 du plug-in Maven Dependency , vous pouvez également définir une destination cible pour l'artefact à l'aide de l'indicateur -Ddest. Il devrait pointer sur un nom de fichier (et non sur un répertoire) pour l'artefact de destination. Voir le page de paramètres pour plus de paramètres pouvant être utilisés
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