Il est possible de définir le référentiel local maven dans settings.xml:
<localRepository>${user.home}/.m2/repository</localRepository>
Et il est possible de définir le référentiel local maven sur la ligne de commande:
mvn clean install -Dmaven.repo.local=repository
Est-il possible de spécifier dans le pom.xml lui-même?
Remarque: je voudrais un moyen de spécifier, dans le pom.xml, où maven recherche initialement les artefacts (par défaut, ~/.m2/repository
) et où maven installe les artefacts via mvn install
(par défaut, ~/.m2/repository
).
Selon le Référence Maven POM et le Guide d'utilisation de plusieurs référentiels , vous pouvez spécifier des référentiels dans pom.xml
aussi.
Il existe deux façons différentes de spécifier l'utilisation de plusieurs référentiels. La première consiste à spécifier dans un POM les référentiels que vous souhaitez utiliser
Et selon Introduction aux référentiels , vous pouvez utiliser le file://
protocole dans <url>
.
Les référentiels distants se réfèrent à tout autre type de référentiel, accessible par une variété de protocoles tels que file: // et http: //.
Donc, les travaux suivants:
<project>
...
<repositories>
<repository>
<id>example-repo</id>
<name>Example Repository</name>
<url>file://path/to/your/local/repository</url>
</repository>
</repositories>
</project>
Modifier:
En fonction de vos commentaires et de vos modifications, vous devez remplacer le référentiel par défaut et le répertoire de base Maven dans pom.xml
.
J'ai trouvé un rubrique sur la désactivation du référentiel central , et essayé les réponses, mais Maven utilise toujours les valeurs de settings.xml
. Cette réponse dans un autre fil explique pourquoi:
settings.xml
vous permet de remplacer les définitions danspom.xml
, Pas l'inverse.
Il semble donc qu'il ne soit pas possible de remplacer le mécanisme par défaut de pom.xml
, Maven recherchera les dépendances dans les référentiels configurés dans settings.xml
et sera installé dans la maison Maven spécifiée dans ce fichier.