Maven: commande pour mettre à jour le référentiel après avoir ajouté une dépendance à POM

256

J'ai ajouté une nouvelle dépendance à mon POM.

Existe-t-il une commande simple que je peux exécuter pour télécharger cette dépendance dans mon référentiel?

JJ180
la source
Pour ceux qui cherchent à faire cela dans un projet Spring Boot: utilisez mvnwpour appeler la couche wrapper. Les commandes de cette page fonctionnent avec.
G_V

Réponses:

179

mvn install (ou mvn package ) fonctionnera toujours.

Vous pouvez utiliser mvn compilepour télécharger les dépendances de temps de compilation ou mvn testpour le temps de compilation et tester les dépendances, mais je préfère quelque chose qui fonctionne toujours.

Aaron Digulla
la source
2
Merci, j'ai également découvert que l'ajouter au pom dans STS le téléchargerait automatiquement pour vous.
JJ180
15
La réponse de @Andrew Spencer est plus précise - ne mvn dependency:xxxtraitez que les dépendances et ne faites rien de plus - et c'est de cela qu'il s'agissait.
botchniaque
Parfois, «package mvn» peut ne pas mettre à jour les dépendances. Cela m'est arrivé plus d'une fois, il faut exécuter 'dépendance mvn: résoudre' dans de tels cas
Binita Bharati
1
@BinitaBharati, vous pouvez ajouter un -U à la ligne de commande Maven pour forcer les téléchargements de dépendances. Cela est utile si Maven ne télécharge pas une dépendance mise à jour en raison d'un délai d'expiration du cache.
BamaPookie
1
@Kishan Posez une nouvelle question. Montrez la disposition de votre projet (en particulier là où importcela se produit) et si vous utilisez une construction multi-module.
Aaron Digulla
611

Si vous souhaitez uniquement télécharger les dépendances sans rien faire d'autre, alors c'est:

mvn dependency:resolve

Ou pour télécharger une seule dépendance:

mvn dependency:get -Dartifact=groupId:artifactId:version

Si vous devez télécharger à partir d'un référentiel spécifique, vous pouvez spécifier cela avec -DrepoUrl=...

Andrew Spencer
la source
2
J'obtiens cette erreur lorsque j'exécute cette commande: [ERREUR] Impossible d'exécuter l'objectif org.apache.maven.plugins: maven-dependency-plugin: 2.1: get (default-cli) on project standalone-pom: The parameters 'repositoryUrl' pour l'objectif org.apache.maven.plugins: maven-dependency-plugin: 2.1: get sont manquants ou invalides -> [Aide 1]. La spécification de -DrepositoryUrl = ... ne fonctionne pas.
Chry Cheng
1
Je pense avoir trouvé la solution. Le paramètre doit être "repoUrl" et non "repositoryUrl".
Chry Cheng
Ne résout pas le problème pour moi: je lance mvn package -ojuste après - je reçois une erreur indiquant que les plugins ne peuvent pas être téléchargés. La course mvn dependency:resolve-pluginsne résout pas non plus complètement le problème.
Innokenty
Les URL de votre référentiel sont peut-être manquantes / incorrectes. En tout cas, je ne pense pas que cette réponse soit la réponse au problème que vous rencontrez. Cette réponse couvre le cas où Maven peut trouver tous les artefacts dont il a besoin dans les référentiels configurés.
Andrew Spencer
Je me fiche que vous soyez croyant ou non, chrétien ou non ... Que Dieu vous bénisse cette réponse simple et impressionnante.
Salathiel Genèse
12

Je sais que c'est une vieille question maintenant, mais pour les utilisateurs qui utilisent un Mavenplugin avec Eclipse under Windows, vous avez deux options:

  1. Si Maven est installé en tant qu'application autonome:

    Vous pouvez utiliser la commande suivante dans le CMDchemin d'accès sous votre projet:

    mvn eclipse:eclipse

    Il mettra à jour votre référentiel avec tous les pots manquants, selon vos dépendances dans votre pom.xmlfichier.

  2. Si vous n'avez pas installé Maven en tant qu'application autonome, vous pouvez suivre ces étapes sur votre éclipse:

    Faites un clic droit sur project-> Run As-> Run configurations.

    Sélectionnez ensuite mavenBuild.

    Cliquez ensuite sur le newbouton pour créer une configuration du type sélectionné .Cliquez sur Parcourir l'espace de travail puis sélectionnez votre projet et dans les objectifs spécifiezeclipse:eclipse

Vous pouvez vous référer à la façon d'exécuter la commande mvn eclipse: eclipse pour plus de détails.

cнŝdk
la source
3
Exécuter eclipse: eclipse après dépendance: la résolution m'a aidé à voir les fichiers jars téléchargés dans eclipse, merci!
Anatoly Yakimchuk
2
Bien que cette réponse aide les pauvres gens à rester avec Eclipse, je recommande fortement à quiconque utilisant Eclipse de trouver une meilleure alternative. Surtout si vous allez utiliser Maven. Netbeans et IntelliJ ont des années-lumière d'avance.
64BitBob
@ 64BitBob En supposant que Netbeans et IntelliJ sont meilleurs qu'eclipse, nous devrions toujours donner une solution pour ceux qui l'utilisent. :)
cнŝdk
Je vois que le plugin n'est plus disponible sur le marché, mais oui, il fonctionne dans Eclipse 2020 sans rien télécharger. Je me demande si mvn eclipse: eclipse est la commande envoyée par eclipse elle-même lorsque nous faisons un clic droit-> Maven-> Update Project ...
Paolo
@Paolo À mon avis, ils ont automatiquement ajouté le plugin dans les nouvelles versions d'Eclipse, et oui je pense que c'est la même commande derrière l'option "Mettre à jour le projet".
cнŝdk
1

Faites attention à l'étendue de votre dépendance. J'avais le problème où lorsque j'appelais une compilation propre via Intellij, le pom était téléchargé, mais pas le pot. Un fichier xxx.jar.lastUpdated a été créé. Puis j'ai réalisé que l'étendue des dépendances était test, mais je déclenchais la compilation. J'ai supprimé le référentiel et déclenché le test mvn, et le problème a été résolu.

Pointeur nul
la source
-4

À droite, cliquez sur le projet. Allez dans Maven -> Mettre à jour le projet.

Les dépendances seront automatiquement installées.

Ashish Pandey
la source
Voici comment le faire dans Eclipse.
user1364368
parfois, et c'est finalement, pas loin cela fonctionne, certaines commandes comme le package mvn, l'installation, la dépendance: résoudre peut résoudre votre problème
Sham Fiorin