web-dev-qa-db-fra.com

IntelliJ n'importe pas correctement les bocaux

J'utilise IntelliJ 11.1.3 et j'essaie de joindre deux bibliothèques externes sous la forme de fichiers jar à utiliser dans un module. Je les ai ajoutés dans la structure du projet -> module -> dépendances et ils apparaissent également correctement dans les bibliothèques, mais je ne peux pas les importer dans mon code source.

Y a-t-il une étape qui me manque ici? Je suis assez nouveau pour IntelliJ, ayant utilisé exclusivement Netbeans auparavant, alors je suis un peu perdu. Je pensais qu'il serait assez simple de joindre les bibliothèques externes et d'utiliser les classes immédiatement, mais je ne reçois même pas les noms des bibliothèques à la fin du code lorsque je tape 'import'.

15
xjtian

Vous le faites bien, les bibliothèques sont configurées dans Dépendances de modules . Vérifiez que les fichiers corrects ont été ajoutés ici.

Vous devriez pouvoir parcourir les fichiers jar dans la vue du projet sous Libraries node. Si vous ne pouvez pas y voir les bocaux, votre bibliothèque n'est pas configurée correctement. Si vous voyez les pots, mais ne pouvez pas voir les classes à l'intérieur d'eux, ils sont probablement cassés, remplacez-les par les copies valides.

Vérifiez également que les bibliothèques sont ajoutées aux dépendances du module correct dans lequel vous essayez d'importer et de les utiliser. Vérifiez l'étendue de la dépendance, Compile est probablement ce dont vous avez besoin.

File | Invalidate Caches peut aider si tout semble correct, mais ne fonctionne pas.

Si rien ne vous aide, partagez un exemple de projet avec les bibliothèques pour illustrer le problème.

13
CrazyCoder

Vous utilisez un package. Ces bibliothèques doivent être utilisées à partir du package par défaut. Donc, déplacez toutes vos classes dans le paquetage par défaut (c’est-à-dire le dossier src) et supprimez toutes les instructions paquet/import. De plus, au lieu de Java.io, utilisez les classes In ou Stdin pour lire les données.

3
Paul Z.

J'ai rencontré ce problème aussi, ce que j'ai fait est de fermer le projet actuel et de recréer/importer le projet, puis d'importer des bocaux, et cela fonctionne. Je sais que ce n'est pas sage, mais c'est un moyen simple et direct. Comme j'ai essayé tout ce que CRAZYCODER a dit, mais pas travailler.

1
JoM

J'ai trouvé la solution ici - https://intellij-support.jetbrains.com/hc/en-us/community/posts/207108385-IntelliJ-not-able-to-resolutions-de-librairie-externe- pour-projets-maven

C'est ce que j'ai essayé et cela a fonctionné - 

Ajouter le fichier jar à Classpath semble aider. Structure du projet> Paramètres de plate-forme> SDK> Classpath Cliquez sur le + et ajoutez le fichier .jar

0
MasterJoe2

J'ai fait face au même problème et essayé presque toutes les solutions mentionnées ci-dessus et ici . Pour la plupart d'entre nous, les solutions mentionnées devraient fonctionner.

Mon cas était un peu différent, alors j'ai pensé le mentionner ici. 

Dans les paramètres du référentiel Maven du projet IntelliJ, j'ai découvert que même le référentiel .m2 local ne pouvait pas être mis à jour. Il essaie de se connecter à localhost et en particulier dans mon cas, le fichier hosts avait un paramètre différent pour localhost.

J'ai changé cela et cela a commencé à fonctionner car il était capable de se connecter au local .m2 maintenant

0
Rites

Projets Maven -> Faites un clic droit sur votre projet -> Unignore

0
softarn

Si votre dépendance de jar dans le POM n'a pas de portée (ou si elle en a une, remplacez-la par une nouvelle valeur temporaire), ajoutez-en une temporaire, par exemple. 'compiler'. Intellij reconnaîtra le changement et actualisera les bibliothèques externes. Vous pouvez ensuite supprimer la portée temporaire. 

0
TheCoder