Utilisez Maven juste pour aller chercher des bocaux de bibliothèque

Nous utilisons ANT pour notre processus de construction et n’avons pas l’intention de le changer dans un avenir proche.

Est-il possible d’utiliser Maven uniquement pour récupérer des fichiers jar Open Source communs (par exemple, Log4J, SWT, JFace) et les placer au bon emplacement de notre projet, de sorte que nous n’ayons pas à les stocker dans notre contrôle de version – de préférence sans créer le cache Maven typique dans le répertoire de base?

NON NON NON Tout le monde!

Si vous utilisez Ant, le meilleur moyen d’utiliser les référentiels Maven pour télécharger les dépendances de jar est d’utiliser Ivy avec Ant. C’est exactement ce que Ivy est pour.

Installer Ivy et commencer à travailler avec les projets Ant actuels est simple. Cela fonctionne avec Nexus et Artifactory si vous utilisez ceux-ci comme référentiels Maven locaux.

Regarde Ivy . C’est probablement exactement ce que vous voulez.

En variante de la réponse de org.life.java , je ne ferais pas mvn install .

Au lieu de cela, dans le fichier pom.xml, j’appendais le bit suivant:

    org.apache.maven.plugins maven-dependency-plugin 2.1   generate-sources  copy-dependencies   ${project.build.directory}/lib       

Maintenant, il vous suffit de faire mvn generate-sources , ce qui est beaucoup plus rapide que l’ mvn install complète de mvn install , et toutes les dépendances seront copiées dans le répertoire spécifié.


Oh, au fait, n’est-ce pas ce dont parle Apache Ivy ? Étendre Ant pour comprendre la gestion de la dépendance de Maven?

C’est possible, vous devriez utiliser maven-ant-tâches .

En particulier ses dependencies et sa tâche. Avec cette configuration, aucune installation Maven n’est requirejse.

    ... define properties ...         

Le seul fichier binary à vérifier dans votre projet est maven-ant-tasks.jar .

En fait, dans notre projet, j’ai utilisé le gestionnaire de référentiels Maven de Sonatype Nexus ( documentation ) pour centraliser l’access à différents référentiels et même pour maintenir certains fichiers binarys propres à notre environnement. Avec l’aide de Nexus, je récupère simplement maven-ant-tasks.jar avec la tâche de ant à partir d’une URL connue. Vous n’avez pas à utiliser Nexus, mais cela accélère considérablement les versions, car il met en cache les fichiers binarys situés à proximité des machines de votre développeur.