Comment garder les bibliothèques mises à jour dans MAVEN?
-
03-07-2019 - |
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?
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.