Vous pouvez spécifier dans votre maven paramètres que vous souhaitez exécuter en mode hors ligne, mais existe-t-il une option de ligne de commande équivalente ?
J'imagine quelque chose comme par exemple
mvn install -Dmaven.offline.true
Vous pouvez spécifier dans votre maven paramètres que vous souhaitez exécuter en mode hors ligne, mais existe-t-il une option de ligne de commande équivalente ?
J'imagine quelque chose comme par exemple
mvn install -Dmaven.offline.true
Le mode hors ligne de Maven est invoqué en utilisant mvn -o
.
Toutefois, cela peut ne pas suffire, car il arrive que le projet en cours fasse référence à des artefacts qui ne sont pas encore présents dans le cache du dépôt local de Maven ( ~/.m2/repository
). La tentative de construire ce projet en mode hors ligne échouera, car les dépendances nécessaires sont manquantes et ne peuvent être téléchargées.
Il y a donc un autre objectif utile :
mvn dependency:go-offline
Il s'agit d'une excellente commande à exécuter avant de sauter dans un avion, ce qui augmentera vos chances de BUILD SUCCESS
. Voir le documentation en ligne pour les détails.
mvn -o
fonctionne dans la plupart des cas, mais dans certains cas, cela ne suffira pas. En effet, à partir de Maven 3, un artefact téléchargé à partir d'un dépôt distant/central crée un fichier _remote.repositories
dans votre référentiel local avec une référence à l'endroit où la dépendance a été téléchargée.
Cela peut causer des problèmes si plus tard vous n'avez pas accès à ce dépôt distant pendant vos constructions.
Une solution de contournement qui peut fonctionner consiste à utiliser mvn -o -llr yourGoal
.
Dans la documentation d'aide :
-llr,--legacy-local-repository Use Maven 2 Legacy Local
Repository behaviour, ie no use of
\_remote.repositories. Can also be
activated by using
-Dmaven.legacyLocalRepo=true
-o,--offline Work offline
Une autre façon d'exécuter mvn de façon hors ligne est de supprimer ces _remote.repositories
des métadonnées stockées dans le répertoire des dépendances téléchargées.
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.