Question

Dans l’atelier de développement pour lequel je travaille, nous disposons d’un référentiel interne MAVEN, qui conserve nos bibliothèques (propriétaires et open-source). Un problème courant auquel nous sommes confrontés est que, parfois, les bibliothèques open source de notre référentiel local MAVEN deviennent obsolètes. Existe-t-il un moyen automatique de garder toutes les bibliothèques open-source que j'utilise dans mon référentiel MAVEN toujours mises à jour? Que proposez-vous pour résoudre ce problème?

Était-ce utile?

La solution

En supposant que vous:

  • Vous ne voulez pas tout télécharger
  • Vous ne voulez pas utiliser un autre serveur processus
  • Veut seulement suivre un nombre limité de projets

Vous pouvez créer un fichier pom.xml distinct avec des dépendances telles que:

<dependency>
    <groupId>org.openfoo</groupId>
    <artifactId>jfoo</artifactId>
    <version>[1.0.0,2.0.0)</version>
</dependency>

Ceci indiquera à maven d'utiliser jfoo 1.0.0 à jfoo 2.0.0. Ainsi, lorsque jfoo publiera la version 1.2.17, vous le récupérerez dans la prochaine construction en supposant que vos paramètres sont configurés pour vérifier les versions à chaque fois.

Ce pom ne doit pas réellement construire quoi que ce soit. Il suffit de lister les choses que vous voulez suivre.

En cours d'exécution:

 cd the-path-to-the-project; mvn -q -B -U package

Via cron une fois par jour mettra à jour toutes les dépendances de ce pom et ne signalera qu’il ya un problème

BTW, c'est un hack. Si le nombre de développeurs est > 3 et vous avez les ressources pour exécuter Nexus, ne vous embêtez pas avec le hack.

Autres conseils

Archiva a été mentionné, mais nexus semble plus populaire. Les deux ont été conçus pour résoudre des problèmes comme celui que vous rencontrez

Jetez un coup d'œil à Apache Archiva , gestionnaire de référentiels pour Maven.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top