web-dev-qa-db-fra.com

Intellij IDEA impossible de trouver une classe dans la dépendance Maven importée avec succès

J'essaie d'exécuter le premier exemple json-simple à partir de cette page https://code.google.com/p/json-simple/wiki/EncodingExamples dans mon projet.

J'ai ajouté une dépendance maven dans mon pom.xml à partir de cette page http://mvnrepository.com/artifact/com.googlecode.json-simple/json-simple/1.1.1

Intellij IDEA dit que tout va bien, la dépendance est importée avec succès. Cependant, il ne trouve aucune classe json-simple dans l'éditeur, indiquant "Impossible de résoudre le symbole 'JSONObject'. enter image description here

Qu'est-ce qui ne va pas? J'avais des problèmes similaires avec l'ajout d'autres dépendances, mais je pouvais les "résoudre" en téléchargeant le fichier jar nécessaire et en l'ajoutant comme dépendance sans utiliser maven.

Apprécier toute aide

Je vous remercie

11
Vadim

J'ai également beaucoup de problèmes avec IntelliJ et ses dépendances. Je vais partager certaines de mes méthodes de résolution de problèmes pour cela:

  1. Assurez-vous que le pom.xml contient les dépendances.

C’est la toute première chose à faire, et je suppose que vous l’avez déjà fait.

Pour la prochaine étape, vous pouvez soit utiliser l'onglet Maven à droite:

enter image description here

qui ressemble à ceci lorsque vous cliquez dessus:

enter image description here

ou cliquez avec le bouton droit sur votre pom.xml et sélectionnez Maven comme ceci:

enter image description here

  1. Réimporter

C'est rapide et facile et parfois c'est exactement ce qui est nécessaire.

enter image description here

  1. Générer des sources et mettre à jour des dossiers

Parfois, les sources n'ont pas été générées correctement, alors c'est la clé.

enter image description here

  1. Sources de téléchargement

Parfois, IntelliJ ne le fait pas automatiquement, ce que vous pouvez modifier dans Settings > Build, Execution, Deployment > Build tools > Maven > Importing et activer Import Maven projects automativally.

Les sources de téléchargement ressemblent à ceci:

enter image description here

Le bouton des paramètres est celui qui se trouve le plus à droite sur mes exemples d'images de l'onglet Maven.

Enfin et surtout:

Placez votre curseur sur la partie rouge de l'importation (la partie import org.json.simple.JSONObject;) attendez que le voyant rouge apparaisse, puis choisissez "Ajouter au chemin de la classe".

Lorsque tout le reste est comme il se doit, le chemin d'accès aux classes doit être mis à jour avec votre importation. IntelliJ ne le fait pas toujours automatiquement non plus.

19
Gemtastic

Je résous ce problème en ajoutant 

<scope>compile</scope>

à ma dépendance manquante. Il semble que compile n'est pas toujours la valeur par défaut.

Bizarrement, alors qu'IntelliJ se plaignait, Eclipse était capable de trouver la définition.

1
Pierre Thibault