web-dev-qa-db-fra.com

Impossible de créer un projet Maven dans Eclipse

J'ai Eclipse Luna et Maven 3.2.3 installés sur une machine Windows 7 derrière un pare-feu d'entreprise. 

Essayer de créer un projet à partir d'un archétype provoque l'erreur suivante:

Impossible de résoudre l'archétype org.Apache.maven.archetypes: maven-archetype-quickstart: RELEASE à partir de l'un des référentiels configurés. 

Impossible de résoudre l'artefact org.Apache.maven.archetypes: maven-archetype-quickstart: pom: RELEASE 

Impossible de résoudre la version pour org.Apache.maven.archetypes: maven-archetype - quickstart: pom: RELEASE: impossible de trouver les métadonnées org.Apache.maven.archetypes: maven-archetype-quickstart/maven-metadata.xml en local (C:\Users\xxxx.m2\repository) 

Impossible de résoudre la version pour org.Apache.maven.archetypes: maven-archetype-quickstart: pom: RELEASE: impossible de trouver les métadonnées org.Apache.maven.archetypes: maven-archetype-quickstart/maven-metadata.xml en local (C :\Users\xxxx.m2\repository) 

Les détails du proxy sont configurés dans .m2/settings.xml et la génération d'un projet maven à partir d'un archtype fonctionne correctement en ligne de commande. 

J'ai essayé d'appliquer les solutions de ici mais aucune n'a fonctionné. Le catalogue à distance est également inaccessible. Je pense que c'est un problème avec les paramètres réseau d'Eclipse. J'ai aussi regardé ce rapport de bogue pour essayer de trouver des indices et je ne comprenais pas vraiment comment implémenter la solution de contournement. 

voici mon fichier settings.xml:

<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
                      http://maven.Apache.org/xsd/settings-1.0.0.xsd">
    <servers>
        <server>
            <id>nexus</id>
            <username>[email protected]</username>
            <password>{XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX}</password>
        </server>
        <server>
            <id>deployment</id>
            <username>[email protected]</username>
            <password>{XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX}</password>
        </server>
    </servers>
    <mirrors>
        <mirror>
        <!--This sends everything else to /public -->
        <id>nexus</id>
        <mirrorOf>*</mirrorOf>
        <url>https://nexus-int.xxxx.xxxx.com/nexus/content/groups/public</url>
        </mirror>
    </mirrors>
    <profiles>
        <profile>
        <id>nexus</id>
            <!--Enable snapshots for the built in central repo to direct -->
        <!--all requests to nexus via the mirror -->
        <repositories>
            <repository>
                <id>central</id>
                <url>http://central</url>
                <releases><enabled>true</enabled></releases>
                <snapshots><enabled>true</enabled></snapshots>
            </repository>
        </repositories>
        <pluginRepositories>
            <pluginRepository>
                <id>central</id>
                <url>http://central</url>
                <releases><enabled>true</enabled></releases>
                <snapshots><enabled>true</enabled></snapshots>
            </pluginRepository>
        </pluginRepositories>
        </profile>
    </profiles>
    <activeProfiles>
        <!--make the profile active all the time -->
        <activeProfile>nexus</activeProfile>
    </activeProfiles>
</settings>

Des idées?

Merci

Tomer

27
Tomer

Même problème ici, résolu .

Je vais expliquer le problème et la solution pour aider les autres.

Mon logiciel est:

Windows 7
Eclipse 4.4.1 (Luna SR1)
m2e 1.5.0.20140606-0033
    (from Eclipse repository: http://download.Eclipse.org/releases/luna)

Et j'accède à Internet via un proxy.

Mon problème était le même:

  • Vient de commencer m2e, allez dans le menu: Fichier> Nouveau> Autre> Maven> Projet Maven> Suivant> Suivant.
  • Sélectionnez "Catalogue: Tous les catalogues" et "Filtre: maven-archetype-quickstart", puis cliquez sur le résultat de la recherche, puis sur le bouton Suivant.
  • Puis entré "Group Id: test_gr" et "ID d'artefact: test_art", puis cliqué sur le bouton Terminer.
  • Vous avez l'erreur "Impossible de résoudre l'archétype ...".

Après beaucoup d'essais et d'erreurs et après avoir lu beaucoup de pages, j'ai finalement trouvé une solution pour y remédier. Quelques points importants de la solution:

  • Il utilise l'installation par défaut (intégrée) de Maven (3.2.1/1.5.0.20140605-2032) fournie avec m2e.
  • Donc, aucune installation Maven supplémentaire (externe) n’est requise.
  • Aucune configuration spéciale n'est requise.

La solution est:

  • Ouvrez Eclipse.
  • Restaurez les préférences d'origine de M2E (si vous en avez changé): Cliquez sur le menu: Fenêtre> Préférences> Maven> Restaurer les paramètres par défaut. Faites de même pour tous les éléments de l'arborescence sous l'élément "Maven": archétypes, découverte, erreurs/avertissements, installation, mappages de cycle de vie, modèles, interface utilisateur, paramètres utilisateur. Cliquez sur le bouton "OK".
  • Copiez (par exemple dans une fenêtre du bloc-notes) le chemin du fichier de paramètres utilisateur. Pour voir le chemin, cliquez à nouveau sur le menu: Fenêtre> Préférences> Maven> Paramètres utilisateur. Le chemin se trouve dans la zone de texte "Paramètres utilisateur". Vous devrez écrire le chemin manuellement car il n’est pas possible de copier-coller. Après avoir copié le chemin d'accès au bloc-notes, ne fermez pas la fenêtre Préférences.
  • Dans la fenêtre Préférences déjà ouverte, cliquez sur le lien "Ouvrir le fichier". Fermez la fenêtre Préférences et vous verrez le fichier "settings.xml" déjà ouvert dans un éditeur Eclipse.
  • L'éditeur aura 2 onglets en bas: "Design" et "Source". Cliquez sur l'onglet "Source". Vous verrez tout le code source (xml).
  • Supprimer tout le code source: Cliquez sur le code, appuyez sur ctrl + a, appuyez sur "del".
  • Copiez le code suivant dans l'éditeur (et personnalisez les valeurs en majuscule):
<settings>
  <proxies>
   <proxy>
      <active>true</active>
      <protocol>http</protocol>
      <Host>YOUR.PROXY.IP.OR.NAME</Host>
      <port>YOUR PROXY PORT</port>
      <username>YOUR PROXY USERNAME (OR EMPTY IF NOT REQUIRED)</username>
      <password>YOUR PROXY PASSWORD (OR EMPTY IF NOT REQUIRED)</password>
      <nonProxyHosts>YOUR PROXY EXCLUSION Host LIST (OR EMPTY)</nonProxyHosts>
    </proxy>
  </proxies>
</settings>
  • Enregistrez le fichier: control + s.
  • Quitter Eclipse: Menu Fichier> Quitter.
  • Ouvrez dans un explorateur Windows le chemin que vous avez copié (sans le nom de fichier, juste le chemin des répertoires).
  • Vous verrez probablement le fichier XML ("settings.xml") et un répertoire ("référentiel"). Supprimer le répertoire ("référentiel"): Cliquez avec le bouton droit de la souris> Supprimer> Oui.
  • Lancez Eclipse.
  • Vous allez maintenant pouvoir créer un projet maven: Fichier> Nouveau> Autre> Maven> Projet Maven> Suivant> Sélectionnez "Catalogue: tous les catalogues" et "Filtre: maven-archetype-quickstart", cliquez sur le résultat de la recherche, puis sur le bouton Suivant, entrez "ID groupe: test_gr" et "ID d'artefact: test_art", cliquez sur le bouton Terminer.

Enfin, je voudrais donner une suggestion aux développeurs M2E, pour faciliter la configuration. Après avoir installé m2e à partir d'Internet (à partir d'un référentiel), m2e doit vérifier si Eclipse utilise un proxy (Préférences> Général> Connexions réseau). Si Eclipse utilise un proxy, le M2E doit afficher une boîte de dialogue pour l'utilisateur:

m2e has detected that Eclipse is using a proxy to access to the internet.
Would you like me to create a User settings file (settings.xml) for the embedded 
Maven software?

[ Yes ] [ No ]

Si l'utilisateur clique sur Oui, m2e doit alors créer automatiquement le fichier "settings.xml" en copiant les valeurs proxy à partir des préférences Eclipse.

54
freesoft

Pour moi la solution était un peu plus simple, il me suffisait de nettoyer le référentiel: .m2/repository/org/Apache/maven/archetypes

29
amanteaux

Supprimez simplement les $ {user.home} /. M2/repository/org/Apache/maven/archetypes pour actualiser tous les fichiers nécessaires, cela m’a bien fonctionné!

11
LottaLava

Dans mon cas, la solution suivante a fonctionné.

  1. SupprimezRELEASErépertoire & resolver-status.properties dans votre référentiel Maven local sous le répertoire .m2 /../ maven-archetype-quickstart.
  2. Créez un projet Maven dans Eclipse ou STS (Spring Tool Suite). Il téléchargera automatiquement QuickTart Archetype & Work comme prévu.

J'espère que cela peut aider quelqu'un.

3
OO7

J'ai eu ce problème aussi, et je l'ai finalement résolu, voici la solution:

allez dans windows -> préférence -> maven -> paramètres utilisateur

Remplacez le chemin settings.xml par un chemin valide. 

Le chemin ne se trouve peut-être pas sous le répertoire .m2 (dans votre répertoire personnel).

3
王雅晶

La même erreur s'est produite lors de la création du projet, mais je n'étais pas derrière un proxy et les solutions ci-dessus ne fonctionnaient donc pas pour moi. 

J'ai trouvé ce forum . Il a suggéré de:

  1. Supprimer ou renommer le répertoire .m2 de votre répertoire HOME

In Windows - C:\Users\<username>\Windows 

OU 

In Linux - /home/<username>
  1. redémarrer la suite d'outils à ressort Eclipse/STS (que j'utilise)

Ça a marché!

1
bibangamba

J'utilise Spring STS 3.8.3. J'avais un problème similaire. Je l'ai corrigé en utilisant les informations de ce thread Et aussi en corrigeant certains paramètres de Maven. Cliquez sur Spring Tool Suite -> Préférences -> Maven et décochez la case "Ne pas mettre à jour automatiquement les dépendances des dépôts distants". J'ai également coché les cases "Télécharger les sources d'artefacts" et "Télécharger les artefacts javadoc". 

0
gnattyp

Si vous êtes derrière un proxy, la première chose à faire est d'ajouter settings.xml avec les configurations de proxy dans le dossier C:\Users\{username}\.m2 et de répliquer les mêmes configurations de proxy sous Window > Preferences > Network Connections (vous devrez peut-être préfixer votre nom d'utilisateur avec le domaine, par exemple DOMAIN\username):

<settings>
  <proxies>
   <proxy>
      <active>true</active>
      <protocol>http</protocol>
      <Host>webproxy.net</Host>
      <port>8080</port>
      <username>username</username>
      <password>password</password>
      <nonProxyHosts>localhost|127.0.0.1</nonProxyHosts>
    </proxy>
   <proxy>
      <active>true</active>
      <protocol>https</protocol>
      <Host>webproxy.net</Host>
      <port>8080</port>
      <username>username</username>
      <password>password</password>
      <nonProxyHosts>localhost|127.0.0.1</nonProxyHosts>
    </proxy>    
  </proxies>

Supprimez également le dossier C:\Users\{username}\.m2\repository.

0
ostati