web-dev-qa-db-fra.com

Comment corriger l'erreur "Mise à jour du projet Maven". Type IClasspathEntry non pris en charge = 4?

J'ai importé le projet maven dans STS, lorsque je lance le projet update update, je reçois:

"Updating Maven Project". Unsupported IClasspathEntry kind=4

Y at-il une solution de contournement pour cela?

409
user810430

Ce problème a été corrigé dans la version 1.5.0 de M2E, disponible pour Eclipse Kepler (4.3) et Luna (4.4)

Veuillez consulter https://bugs.Eclipse.org/bugs/show_bug.cgi?id=374332#c14

Le problème est dû au fait que STS (Spring IDE/Eclipse), ainsi qu'Eclipse et d'autres IDE basés sur Eclipse, utilisent le plug-in m2e (clipse), mais qu'Eclipse: eclipse a probablement été exécuté sur le projet. Lorsque m2e rencontre une entrée "var" .classpath, il génère cette erreur. 

Les sites de mise à jour sont spécifiés à l'URL suivante: 
http://Eclipse.org/m2e/m2e-downloads.html

Si vous ne pouvez pas utiliser m2e 1.5.0 pour quelque raison que ce soit, alors: 

  1. Désactiver la nature maven du projet (via le menu contextuel)

  2. Exécutez mvn Eclipse:clean (alors que votre projet est ouvert dans STS/Eclipse). Selon le moment choisi, vous devrez peut-être effectuer une actualisation ou deux du projet avant de réactiver la nature maven. Vous devriez être en mesure de voir que votre projet a perdu sa nature Maven. (L'objectif Eclipse:clean supprime simplement les fichiers/répertoires .project, .classpath et .settings/. Vous pouvez également simplement supprimer ces fichiers (à nouveau lorsque le projet est ouvert) au lieu d'exécuter mvn Eclipse:clean.

  3. Réactivez la nature humaine.
    (La plupart du temps, vous pouvez le faire en cliquant avec le bouton droit de la souris sur le projet en question dans le volet Explorateur de packages, puis en choisissant "Configurer" -> "Convertir en projet Maven"). 

611
Marco
  1. Faites un clic droit sur votre projet, sélectionnez Maven -> Supprimer Maven Nature.

  2. Ouvrez votre terminal, allez dans votre dossier de projet et faites mvn Eclipse:clean

  3. Faites un clic droit sur votre projet et sélectionnez "Configurer -> Convertir en projet Maven"

Maintenant, vous avez “Le type IClasspathEntry non supporté = 4 Eclipse Scala” disparaît.

60
Sagar

Parfois, même réimporter le projet Maven ne fonctionnera pas. La mise à jour correcte du projet dans Eclipse n'est pas un processus déterministe ... La seule procédure à sécurité intrinsèque à 100% que j'ai trouvée est la suivante:

  1. Désactivez Maven Nature, lancez mvn Eclipse:clean, redémarrez, croisez les doigts et Pray 3 fois.
  2. Si cela ne fonctionne pas, supprimez le projet, exécutez mvn Eclipse:clean, réimportez le rafraîchissement, priez et utilisez force.
  3. Si cela ne fonctionne toujours pas, redémarrez Eclipse, ou mieux votre computer. En attendant le redémarrage, vous pouvez faire un don aléatoire pour réparer votre karma. Répétez l'étape 2 et n'oubliez pas de prier et de contrôler votre colère. La colère mène à la haine. La haine mène à la souffrance.
  4. Essayez toutes les autres réponses postées dans ce fil. Vous devrez peut-être tous les essayer au moins 3 fois avant d'abandonner.
  5. Formatez votre ordinateur, réinstallez Eclipse et Maven. Plus besoin de prier, tous les dieux vous haïssent quand même
  6. Supprimez votre projet git, burn le lecteur physique qui a stocké le référentiel distant et écrivez votre projet à partir de zéro.
  7. Trouvez une machine à voyager le temps, parcourez le passé et convaincez-vous de suivre une autre carrière hors programmation ou du moins d'éviter Java
42
yannicuLar
  1. Assurez-vous que la version du plugin m2e (clipse) que vous utilisez est au moins 1.1.0

  2. Fermer le projet maven - clic droit "Fermer le projet"

  3. Supprimez manuellement tous les classpathentry avec kind = "var" dans le fichier .classpath
  4. Projet ouvert 

ou

  1. Supprimer le projet maven
  2. Manualy rmeove .classpath 4 Projet de réimportation
12
hicolour

As-tu essayé:

  1. Si vous avez importé un projet dans Eclipse 4, veuillez le supprimer.
  2. Dans maven consol, exécutez: mvn Eclipse: clean
  3. Dans Eclipse 4: Fichier -> Importer -> Maven -> Projets Maven existants
6
Tam

Voir toutes les autres réponses. J'ai trouvé pour moi un moyen plus simple.

Je viens de supprimer toutes les lignes du .classpath (édition avec Eclipse) contenant un var et utilisé maven -> update project sans erreur.

3
keiki

Cette erreur est également générée si la commande de mise à jour est utilisée sur un projet instrumenté pour la couverture de code avec Clover.

Pour résoudre ce scénario: Désinstallez les dossiers de projet que vous souhaitez mettre à jour.

2
Andreis

J'utilise Eclipse 4.3.2 (Kepler) avec M2E 1.4.x et j'ai ressenti plusieurs fois ce problème!

Dans mon cas, la commande "mvn Eclipse: eclipse" génère également les configurations Checkstyle, PMD et Findbugs, de sorte que "mvn Eclipse: clean" ne m'aide pas car il supprime tous ces fichiers de configuration.

La meilleure solution pour moi était de supprimer tous les fichiers ".classpath":

find . -name ".classpath" -delete

et importez ensuite le projet dans Eclipse.

0
TekTimmy

Essayez Mvn installer proprement Eclipse: eclipse -Dwtpversion = 2.0 commande sur l'invite de commande DOS .

0
Bharat

Je ne pouvais pas obtenir MVN Eclipse: clean etc pour travailler avec Kepler. 

Cependant, j'ai modifié la création et l'extension de variables pour n'utiliser que des fichiers JAR externes dans mon chemin d'accès aux classes Eclipse. Cela ne se reflétait dans aucune variable dans mon .classpath. 

Cela a corrigé le problème. J'ai pu faire une mise à jour Maven.

0
user1069528

Ce problème ( https://bugs.Eclipse.org/394042 ) est corrigé dans la version 1.5.0 de M2E, disponible pour Eclipse Kepler et Luna à partir de ce référentiel p2: 

http://download.Eclipse.org/technology/m2e/releases/1.5

Si vous utilisez également m2e-wtp, vous devrez également installer m2e-wtp 1.1.0: 

http://download.Eclipse.org/m2e-wtp/releases/luna/1.1

0
Fred Bricon

J'ai essayé toutes les étapes mentionnées ici et sur des questions similaires mais je n'ai pas pu résoudre ce problème. Je ne pouvais ni résoudre le problème ni mettre à jour mon m2Eclipse. J'ai donc installé Eclipse Luna et cela a résolu mon problème ... bien que cela signifie que je devais passer environ 45 minutes à configurer tout l'environnement de mon espace de travail. 

0
simpleDev

Passer de Kepler à Luna a fonctionné pour moi.

Je venais d'ajouter quelques composants pour le support de Java 1.8. Il semble qu’ils n’étaient pas aussi compatibles que je le voudrais ou que j’ai mélangé les mauvais. Cela a vraiment causé beaucoup de problèmes. Tenter de mettre à jour le système a signalé des erreurs car ils ne pouvaient pas remplir certaines dépendances. Les mises à niveau Maven ne fonctionnaient pas. Essayé beaucoup de choses.

Donc, s'il n'y a aucune raison d'éviter la mise à niveau, ajoutez simplement le référentiel Luna aux sites de logiciels disponibles (Luna http://download.Eclipse.org/releases/luna/ ) et "recherchez les mises à jour". Il est préférable d'avoir tous les composants avec la même version et il y a quelques nouvelles fonctionnalités de Nice. 

0
borjab

J'ai essayé les marches de Marco mais pas de chance. Si vous obtenez simplement le dernier plug-in m2e à partir du lien qu'il fournit et cliquez droit sur chaque projet -> Maven -> Mise à jour des dépendances, l'erreur persiste mais le problème est résolu. C'est-à-dire que les avertissements disparaissent dans la vue Marqueurs. J'ai rencontré ce problème après l'importation de certains projets dans SpringSource Tool Suite (STS). Lorsque je suis revenu à mon installation Eclipse Juno, les avertissements étaient affichés. Voyant que j'avais déjà installé M2E 1.1, j'ai essayé en vain les démarches de Marco. Obtenir la dernière version corrigée cependant.

0
user1444080

Avant d'importer le projet, vous devez le convertir en projet Eclipse mvn Eclipse: Eclipse Alors j'ai trouvé l'erreur suivante . Une erreur interne s'est produite pendant: "Importation de projets Maven". Type non supporté IClasspathEntry = 4

Où est la valeur kind = "var" que M2E ne reconnaît pas et renvoie donc l'erreur.

Maintenant tapez ceci . Mvn Eclipse: clean

Actualisez maintenant le projet dans Eclipse ou effectuez une nouvelle importation.

0