web-dev-qa-db-fra.com

Définir l'emplacement du référentiel local maven dans un fichier pom.xml?

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).

5
drew

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 dans pom.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.

1
juzraai