Variable classpath non liée

Lors de la reconstruction de mon projet avec Maven, je reçois parfois des centaines de

'variable de chemin d'accès aux classes non liée M2_REPO/etc /..'

Dans mes erreurs d’éclipse, la plupart du temps, lorsque je reconstruis, il s’en va, mais à cette occasion, il m’a maudit assez pour rester.

When actually going through the file system, the jars it details that are not there are actually there. Eclipse is just not seeing them for some reason. My m2_repo is correctly referenced in my preferences->java->classpathvariables section and my environmental variables are likewise properly set.

Des idées pour moi les gens?

13

7 Réponses

If you already did several times STEP 1, go to STEP 2

STEP 1
Try deleting and redefining env vars:

  • Open the Eclipse Preferences [Window - Preferences]
  • Go to [Java - Build Path - Classpath Variables]
  • Click New and set its name as M2_REPO
  • Click Folder and select your Maven repository folder. For example, my repository folder is C:/Users/user/.m2/repository
  • Rebuild the Project.

Beside from inside of Eclipse, you can also add the M2_REPO variable from command line using this Maven command:

mvn -Declipse.workspace= eclipse:add-maven-repo


STEP 2
If your build path is correctly defined, check Maven settings.xml:

Window --> Preferences --> Maven ---> User Settings

Sinon, définissez-le ici et changez le chemin localRepository dans la balise settings de settings.xml. Normalement, vous trouverez le fichier settings.xml dans le dossier .m2 sous le dossier de l’utilisateur (par exemple, C: \ Documents and Settings \ nomutilisateur.m2).

31
ajouté
JordiCastilla: Il se peut que vous deviez ajouter l’ETAPE 3: Redémarrez Eclipse. Tout d’abord, ce problème est apparu après le redémarrage du système, c’est-à-dire qu’il n’y en avait pas eu auparavant. et j'ai effectué l'étape 1 (l'étape 2 était déjà définie), puis je la redémarre après avoir lu les commentaires de @Yuci. FYI
ajouté l'auteur Mubashar Ahmad, source
J'ai eu le même problème dans Eclipse (version Mars dans mon cas). Et j'ai essayé la solution de Jordy, pas de chance. Ensuite, je viens de redémarrer Eclipse, et le problème a disparu.
ajouté l'auteur Yuci, source
Salut Jordi, Ce sont toutes de bonnes idées et merci pour la réponse, mais essayé et testé im peur. ce qui est étrange, c’est que cela arrive mais se résout avec une autre version. Je suis préplexé
ajouté l'auteur DasBooten, source

Eh bien, j'ai essayé les étapes de la réponse de @ Jordi. Mais ceux-ci ne font aucune différence. Et j'ai essayé des choses ritualistes dans Eclipse telles que:

  • fermer le projet et l'ouvrir
  • redémarrer l'IDE
  • nettoyage et reconstruction etc ...

sans succès.

Une chose étrange s'est alors produite lorsque j'ai modifié le niveau de conformité Java à 1.8 et que je l'ai rétabli à 1.6 . Ça a marché! Toutes les erreurs de variable de classpath non liées ont maintenant disparu.

7
ajouté
celui-ci a fonctionné pour moi aussi
ajouté l'auteur UVM, source
Alors que la réponse acceptée ne fonctionnait pas pour moi, passer de 1.8 à 1.6 et revenir à 1.8 fonctionnait aussi pour moi. Quelqu'un sait-il pourquoi ?
ajouté l'auteur Praneeth, source

Update Project worked for me :

Étape 1: Sélectionner le dossier du projet

Sélectionnez le dossier du projet qui donne l'erreur.

Étape 2: Mise à jour du projet Maven

Alt + F5 shortcut OR right-click >> Maven >> Update Project.

Étape 3: finaliser

Click OK and let it update.

Les erreurs devraient disparaître après cela.

Bonne chance

1
ajouté

J'ai essayé de définir la variable M2_REPO plusieurs fois, mais la seule chose qui m'a finalement aidé a été de démarrer Eclipse avec le paramètre -clean .

0
ajouté

I have seen this issue before more than once and I don't use the maven plugin so I dont have windows -> Preferences->Maven. To resolve this 'unbound classpath variable M2_REPO/etc/..' though you have M2_REPO variable setup issue -> Rename M2_REPO variable to something else (M2_REPO2 for eg) and then correct it back to M2_REPO and this issue goes away.

0
ajouté
Jagadeesh, je l'ai comme variable de chemin de classe dans Eclipse. Si vous allez dans Fenêtre -> Préférences -> Java -> Chemin de construction -> Variable de chemin de classe, sélectionnez M2_REPO et cliquez sur Éditer, vous devriez pouvoir le changer. Je ne suis pas sûr de ce que vous voulez dire par non modifiable.
ajouté l'auteur Sudhir Srinivasan, source
M2_REPO La variable n'est pas modifiable.
ajouté l'auteur Jagadeesh, source

Mars.2 avait ce problème pour moi. J'ai essayé toutes ces suggestions, puis supprimé le dossier ~/.m2/repository/.metadata, redémarré eclipse et M2_REPO s'y trouvait.

Vous y êtes arrivé en consultant Maven - Paramètres utilisateur, mais il n’existe pas de fichier settings.xml, mais il existe un dossier .metadata qui, si vous effectuez un zoom avant, contient un fichier jdt contenant l’emplacement de référentiel eclipse .m2. Je me suis dit que ça ne marchait pas, alors je l'ai supprimé Après le redémarrage de eclipse et la configuration de M2_REPO, le dossier ~/.m2/repository/.metadata est toujours supprimé. Doit avoir été en conflit avec quelque chose d'autre dans l'espace de travail. Je ne sais pas comment il est arrivé là-bas.

0
ajouté

L'erreur avait disparu après la désinstallation de Maven Integration d'Eclipse.

0
ajouté