web-dev-qa-db-fra.com

Comment changer le référentiel local Maven dans eclipse

J'importe un projet Maven à plusieurs modules à partir du répertoire racine d'un lecteur partagé sur un autre serveur A. Sur le serveur A, mvn install fonctionnera correctement et Maven est correctement configuré avec repository/ et settings.xml dans /home/user/.m2.

Cependant, après avoir importé le projet dans Eclipse (STS en fait) sur mon poste de travail, je ne parviens pas à exécuter mvn build (le plug-in m2e est installé), principalement en raison de dépendances manquantes d'autres modules. J'ai compris qu'Eclipse utilisait settings.xml et repository/ sur mon poste de travail. Il n'y a donc aucune version de module installée dans le cache .m2.

J'essaie de modifier Maven pour qu'il utilise le répertoire .m2 sur le serveur A. Je ne peux définir que settings.xml sur celui du serveur A, mais je ne peux pas modifier le référentiel local. La seule option que j'ai est de "réindexer".

Existe-t-il un moyen de remplacer le référentiel local par celui du serveur A ou existe-t-il un meilleur moyen d'avoir du code sur un serveur et d'éditer/construire/tester sur Tomcat sur un autre PC?

enter image description here

46
David Zhao

l'emplacement peut être spécifié dans Maven-> Installation -> Paramètres globaux: settings.xml

enter image description here

47
David Zhao

Dans les versions plus récentes d’Eclipse, le fichier de configuration globale peut être défini dans

Windows> Préférences> Maven> Paramètres utilisateur> Paramètres généraux

Ne me bat pas pourquoi les paramètres globaux peuvent être configurés dans les paramètres utilisateur ... Probablement pour la même raison pour laquelle vous devez appuyer sur "Démarrer" pour éteindre votre PC sous Windows ... : D

14
sjngm

En général, ils répondent à la question: Comment modifier votre fichier de paramètres utilisateur? Mais la question à laquelle je voulais répondre était comment changer l’emplacement de mon référentiel Maven local. La réponse est que vous devez éditer settings.xml. Si le fichier n'existe pas, vous devez le créer. Vous définissez ou modifiez l'emplacement du fichier dans Window> Préférences> Maven> Paramètres utilisateur. C'est l'entrée Paramètres utilisateur à l'adresse 

 Maven User Settings dialog

C'est la deuxième entrée du fichier; le premier avec des informations dedans. 

Si ce n'est pas clair, [redacted] devrait être remplacé par le chemin du fichier local dans votre dossier .m2. 

Si vous cliquez sur le lien "Ouvrir le fichier", le fichier settings.xml sera ouvert pour être édité dans Eclipse. 

Si vous n'avez pas encore de fichier settings.xml, les éléments suivants définiront le référentiel local sur la valeur par défaut de Windows 10 pour un utilisateur nommé mdfst13: 

<settings xmlns="http://maven.Apache.org/SETTINGS/1.0.0"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.Apache.org/SETTINGS/1.0.0
                              https://maven.Apache.org/xsd/settings-1.0.0.xsd">

  <localRepository>C:\Users\mdfst13\.m2\repository</localRepository>
</settings>

Vous devez définir ceci sur une valeur appropriée à votre système. Je ne l'ai pas testé, mais je soupçonne que sous Linux, la valeur par défaut serait /home/mdfst13/.m2/repository. Et bien sûr, vous ne voulez probablement pas le définir sur la valeur par défaut. Si vous lisez ceci, vous voudrez probablement le définir sur une autre valeur. Vous pouvez simplement le supprimer si vous voulez la valeur par défaut. 

Merci à ce commentaire de @ejaenv pour le nom de l’élément dans le fichier de paramètres: <localRepository>. Voir Maven - Paramètres pour plus d’informations. 

Crédits à @ Ajinkya's answer pour avoir spécifié l'emplacement de la valeur des paramètres utilisateur dans Eclipse Photon. 

Si vous avez déjà un fichier settings.xml, vous devez le fusionner dans votre fichier existant. C'est à dire. <settings et <localRepository> ne doivent apparaître qu'une seule fois dans le fichier et vous souhaiterez probablement conserver les paramètres déjà présents. Ou pour le dire autrement, éditez toute entrée de référentiel local existante si elle existe ou ajoutez simplement cette ligne au fichier si ce n'est pas le cas. 

J'ai dû redémarrer Eclipse pour qu'il puisse charger des données dans le nouveau référentiel. Ni "Paramètres de mise à jour" ni "Réindexer" n'étaient suffisants. 

2
mdfst13

Dans Eclipse Photon, accédez à Windows> Préférences> Maven> Paramètres utilisateur> Paramètres utilisateur

Pour "Paramètres utilisateur", accédez au fichier settings.xml du maven. ex. dans mon cas maven il se trouve sur le chemin C:\Program Files\Apache Software Distribution\Apache-maven-3.5.4\conf\Settings.xml

Selon le fichier Settings.xml, le référentiel local est automatiquement configuré à l’emplacement spécifié .  Click here for screenshot

1
Ajinkya

Voici settings.xml -> C:\maven\conf\settings.xml

0
Alexánder Rojas