Méthode correcte pour ajouter des fichiers jars externes (lib / *. Jar) à un projet IntelliJ IDEA

734

Lors de la création d'un nouveau projet Java dans IntelliJ IDEA, les répertoires et fichiers suivants sont créés:

./projectname.iml
./projectname.ipr
./projectname.iws
./src/

Je souhaite configurer IntelliJ IDEA pour inclure mes fichiers JAR de dépendance dans ./lib/*.jarle projet. Quelle est la bonne façon d'y parvenir dans IntelliJ IDEA?

knorv
la source
Je suis confronté au problème lors de l'exécution du programme dans le terminal d'IntelliJ. J'ai utilisé l'instruction import pour utiliser les classes dont j'ai besoin dans le programme. Pendant que je l'exécute dans l'IDE, il fonctionne très bien. Mais lorsque j'essaie de compiler à partir de la ligne de commande% javac MyProgram.java, il indique l'erreur: impossible de trouver le symbole
don_Gunner94

Réponses:

1307

Étapes pour ajouter des fichiers jars externes dans IntelliJ IDEA:

  1. Cliquez Filedans la barre d'outils
  2. Structure du projet ( CTRL+ SHIFT+ ALT+ Ssous Windows / Linux, + ;sous Mac OS X)
  3. Sélectionnez Modules dans le panneau de gauche
  4. Onglet Dépendances
  5. '+' → JAR ou répertoires
Cambium
la source
99
Envisagez également d'ajouter un dossier lib et utilisez "Attach Jar Directories", qui ajoutera tous les fichiers jars du dossier lib. Pour un projet de grande envergure, cela vous évite d'avoir à choisir chaque pot individuellement.
joeslice
16
Pour référence future: ce bouton "Ajouter" était sur le bord droit de la fenêtre et j'ai passé énormément de temps à le chercher avant de trouver ce message et de penser à redimensionner la fenêtre. (C'était sur OSX 10.6.5 ...)
Daniel Dickison
7
@joeslice qui ne fonctionne que si les fichiers JAR sont à la racine du répertoire, non? Cela ne semble pas fonctionner pour les fichiers JAR dans les sous-répertoires de «lib».
opyate le
6
Dans IJIdea 13, il y a "+"> au lieu de "ajouter".
Val
4
J'utilise IDEA 14.0.2. Au lieu de Ajouter, il y a le symbole +. Après avoir cliqué sur +, il y a 3 options: 1. JAR ou répertoires 2. Bibliothèque ... 3. Dépendance du module ...
Ripon Al Wasim
239

IntelliJ IDEA 15 & 2016

  1. Fichier > Structure du projet ...

    Fichier> Structure du projet

    ou appuyez sur Ctrl+ Alt+ Shift+S

  2. Paramètres du projet > Modules > Dépendances > Signe " + "> JAR ou répertoires ...

    Modules> Dépendances> JAR ou répertoires

  3. Sélectionnez le fichier jar et cliquez sur OK, puis cliquez sur un autre bouton OK pour confirmer

    entrez la description de l'image ici

    entrez la description de l'image ici

  4. Vous pouvez visualiser le fichier jar dans le dossier "Bibliothèques externes"

    entrez la description de l'image ici

ROUMANIE_ingénieur
la source
En fait, je crée un nouveau module dans le volet "Modules" (nommé par exemple "JarsForLogging"), puis j'ajoute tous les pots dont j'ai besoin (situés dans un répertoire loin de l'arborescence du projet) à ce nouveau module et je marque les pots comme " Exportation". Enfin, j'ajoute le module nouvellement créé aux dépendances du module d'origine. Un peu plus hiérarchique de cette façon.
David Tonhofer
En outre: assurez-vous que les autorisations du système de fichiers sont correctement définies pour les .jarfichiers. Utilisez-les chmodpour les modifier sous Linux ou MacOS.
JJD
4
fonctionne toujours en 2018 (année et version IntelliJ). Je vous remercie. De cette façon, je peux charger et utiliser les bibliothèques Armed Bear Common Lisp depuis IntelliJ, génial!
Jason Robinson
Oui. Fonctionne également bien avec mon IntelliJ. Merci!
Bms bharadwaj
1
@ don_Gunner94, via la ligne de commande, vous devez également fournir le pot comme ceci:javac -cp ".:/my/path/file.jar;" MyProgram.java
ROMANIA_engineer
118

Copiez-collez simplement le .jar sous le dossier "libs" (ou le dossier "libs" en entier), faites un clic droit dessus et sélectionnez l'option "Ajouter comme bibliothèque" dans la liste. Il fera le reste ...

entrez la description de l'image ici

gurkan
la source
Le plus simple et la façon dont nous sommes habitués depuis l'époque d'Eclipse.
Sufian
3
Simple et simple !!
Anaximandro Andrade
3
Un peu ennuyeux, il demande toujours un "nom", pouvez-vous simplement laisser des ordures là-dedans?
dividebyzero
Cela m'a aussi aidé!
Preeti Joshi
Je suis confronté au problème lors de l'exécution du programme dans le terminal d'IntelliJ. J'ai utilisé l'instruction import pour utiliser les classes dont j'ai besoin dans le programme. Pendant que je l'exécute dans l'IDE, il fonctionne très bien. Mais lorsque j'essaie de compiler à partir de la ligne de commande% javac MyProgram.java, il dit erreur: impossible de trouver le symbole. -
don_Gunner94
20

Vous les ajoutez en tant que bibliothèques à votre module.

J'ai généralement un /librépertoire dans ma source. J'y ai mis tous les JAR dont j'ai besoin, j'ajoute / lib comme bibliothèque et je l'intègre à mes dépendances de module.

Mise à jour 2018: j'utilise IntelliJ 2017/2018 maintenant.

Je suis pleinement engagé auprès de Maven et Nexus pour la gestion des dépendances.

C'est ainsi que le monde a disparu. Tous les projets Java open source que je connais utilisent Maven ou Gradle. Tu devrais aussi.

duffymo
la source
Oui, mais que se passe-t-il si le pom Maven n'est pas appelé pom.xml? Ensuite, il semble que je ne puisse pas lire les dépendances Maven.
user1001630
4
La convention est de l'appeler pom.xml. Suivez la convention et renommez votre fichier.
duffymo du
Je trouve toujours le besoin, quand le pot n'a pas de repo maven ... mais, je ne comprends pas comment faire ça correctement. Je comprends comment ajouter un répertoire, je ne comprends pas comment l'obtenir, il importe également les javadocs. cela fonctionne lorsque j'ajoute un bocal en tant que fichier unique, mais pas si j'ajoute un répertoire. N'est-ce tout simplement pas possible?
ycomp
C'est un bon conseil. L'ajout manuel de pots prend du temps et est sujet à erreur. Vos dépendances doivent toujours être configurées "via code", dans le pom.xml(pour maven) ou quel que soit l'équivalent pour gradle.
vikingsteve
1
Tous les JAR ont un dépôt. S'il n'est pas disponible dans un référentiel public ou privé, vous pouvez l'installer manuellement dans votre .m2 local. Il n'y a aucune raison de faire autrement.
duffymo
17

Si vous construisez votre projet avec gradle, il vous suffit d'ajouter une ligne aux dépendances dans build.gradle:

buildscript {
    ...
}
...

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
}

puis ajoutez le dossier à votre projet ou module racine:

entrez la description de l'image ici

Ensuite, vous déposez vos pots là-bas et vous êtes prêt à partir :-)

cesards
la source
Je suis confronté au problème lors de l'exécution du programme dans le terminal d'IntelliJ. J'ai utilisé l'instruction import pour utiliser les classes dont j'ai besoin dans le programme. Pendant que je l'exécute dans l'IDE, il fonctionne très bien. Mais lorsque j'essaie de compiler à partir de la ligne de commande% javac MyProgram.java, il dit erreur: impossible de trouver le symbole. -
don_Gunner94
7

J'utilise cette méthode et ça marche bien:

1- Copiez et collez les .jarfichiers sous le libsdossier.

2- Ajouter compile fileTree(dir: 'libs', include: '*.jar')à dependenciesen build.gradlepuis tous les pots dans le libsdossier seront inclus ..

3- Faites un clic droit sur le libsdossier et sélectionnez l'option 'Ajouter comme bibliothèque' dans la liste.

Ali Hesari
la source
Merci, c'était la seule chose qui a fonctionné pour moi!
Gregordy
Je suis confronté au problème lors de l'exécution du programme dans le terminal d'IntelliJ. J'ai utilisé l'instruction import pour utiliser les classes dont j'ai besoin dans le programme. Pendant que je l'exécute dans l'IDE, il fonctionne très bien. Mais lorsque j'essaie de compiler à partir de la ligne de commande% javac MyProgram.java, il dit erreur: impossible de trouver le symbole.
don_Gunner94
5

Les bibliothèques ne peuvent être directement utilisées dans aucun programme si elles ne sont pas correctement ajoutées aux fichiers de notes du projet.

Cela peut facilement être fait dans des IDE intelligents comme inteli J.

1) D'abord comme convention, ajoutez un dossier nommé 'libs' sous votre fichier src de projet. (cela peut facilement être fait en utilisant l'IDE lui-même)

2) puis copiez ou ajoutez votre fichier de bibliothèque (par exemple: fichier .jar) dans le dossier nommé 'libs'

3) vous pouvez maintenant voir le fichier de bibliothèque dans le dossier libs. Maintenant, faites un clic droit sur le fichier et sélectionnez «ajouter en tant que bibliothèque». Et cela corrigera tous les fichiers pertinents dans votre programme et votre bibliothèque sera directement disponible pour votre usage.

Notez s'il vous plaît:

Chaque fois que vous ajoutez des bibliothèques à un projet, assurez-vous que le projet prend en charge la bibliothèque

Keet Sugathadasa
la source
3

Une grande aide trouvée ici. Cependant, je ne pouvais toujours pas le faire fonctionner malgré le chargement correct de JAR. J'ai découvert plus tard que j'avais accidentellement créé un module dans la structure de fichiers au lieu d'un dossier normal et que ce module avait été présélectionné dans le cadre du projet.

Voici l'empreinte:

Fichier -> Structure du projet -> Modules -> (sélectionnez le module approprié si vous en avez plus) -> Dépendances -> + -> JAR ou bibliothèques

Rolland
la source
3

Bien que je sois d'accord avec les réponses précédentes, il est important de noter comment accéder au code de ces bibliothèques externes.

Par exemple, pour accéder à une classe dans la bibliothèque externe, vous souhaiterez utiliser l' importation mot clé suivi du nom de la bibliothèque externe, suivi de la notation par points jusqu'à ce que la classe souhaitée soit atteinte.

Regardez l'image ci-dessous pour voir comment j'importe la classe CodeGenerationException de la bibliothèque quickfixj.

entrez la description de l'image ici

Crt
la source