Importer des dépendances Maven dans IntelliJ IDEA
J'ai une petite question sur IntelliJ IDEA 11. Je viens d'importer un projet de subversion-c'est un projet maven. Mais j'ai un problème dans les dépendances de la bibliothèque Maven de sorte que je ne peux pas inclure toutes les dépendances Maven automatiquement-IDEA montre les erreurs de dépendance seulement quand j'ouvre cette classe / C'est ce que j'obtiens ici:
Donc, je veux que toutes les dépendances soient ajoutées automatiquement-Est-ce possible ou dois-je parcourir tous les fichiers de classe pour identifier et ajouter maven les dépendances?!
UPDATE: après avoir fait quelques modifications, j'ai trouvé comment résoudre mon problème d'une manière ou d'une autre. C'est ce que j'ai fait:
Mais je pense logiquement qu'il n'inclura pas et ne vérifiera pas les nouvelles dépendances à venir?!... Est-il une zone de paramètres dans intelliJ - exportation automatique des dépendances à classpath ?!
26 réponses
IntelliJ doit télécharger et ajouter automatiquement toutes vos dépendances au classpath du projet tant que votre POM est conforme et que toutes les dépendances sont disponibles.
Lors de l'importation de projets Maven dans IntelliJ, une boîte d'informations apparaît généralement pour vous demander si vous souhaitez configurer Auto-Import pour les projets Maven. Cela signifie que si vous apportez des modifications à votre POM ces changements seront chargés automatiquement.
Vous pouvez activer cette fonctionnalité dans le fichier > Paramètres > Maven > importation, il y a une case à cocher qui dit "importer automatiquement les projets Maven".
Si cela n'aide pas, alors je suggère de faire un nettoyage complet et de recommencer:
- fermez la fenêtre de votre projet (et IntelliJ) et supprimez tous les fichiers
*.iml
et tous les dossiers.idea
(Il devrait y en avoir un par module) - Exécuter
mvn clean install
à partir de la ligne de commande - réimportez le projet dans IntelliJ et faites attention quand il vous demande d'activer importation automatique
Mise À Jour IntelliJ 2016 :
Le Importer des Projets Maven automatiquement paramètre a été déplacé à Construire, l'Exécution, le Déploiement > Outils de compilation Maven > Importation dans votre IntelliJ préférences.
J'ai pensé que je jeterais mon $ 0.02 ici: pour moi, le correctif à cela était d'aller à
Fichier [menu] -> Paramètres -> maven -> importation et décochez "utilisation maven3 pour importer un projet"
Ref: http://youtrack.jetbrains.com/issue/IDEA-98425 (qui peut avoir quelques autres idées aussi)
Update: Ran dans ce nouveau, avec IntelliJ 15 Cette fois, qui n'a pas" utiliser maven3 pour importer " option disponible plus. La cause était que parfois IntelliJ "n'analyse pas maven dépendances droit" et s'il ne peut pas analyser l'un d'eux à droite, il donne sur tous les, apparemment. Vous pouvez savoir si c'est le cas en ouvrant la fenêtre de l'outil projets Maven (Menu Affichage -> fenêtres D'outils -> projets Maven). Développez ensuite l'un de vos projets maven et ses dépendances. Si les dépendances sont toutes soulignées en rouge, "Houston, nous avons un problème".
Vous pouvez réellement voir l'échec réel en passant la souris sur le nom du projet lui-même.
Dans mon cas, il a dit "problèmes: aucune version disponible pour XXX" ou " impossible de lire le descripteur pour artefact org.XY.z" réf: https://youtrack.jetbrains.com/issue/IDEA-128846 et https://youtrack.jetbrains.com/issue/IDEA-152555
Il semble que dans ce cas, j'avais affaire à un jar qui n'avait pas de fichier pom associé (dans notre repo Maven nexus, et aussi mon référentiel local). Si c'est aussi votre problème, " ourrent contourner: si vous n'avez pas réellement besoin d'utiliser des classes de ce pot dans votre propre code (par exemple une dépendance Maven transitive uniquement), vous pouvez réellement vous en sortir en le commentant du pom (Temporairement), recharger le projet maven, puis le décommenter. D'une certaine manière après ce point IntelliJ "se souvient" de ses anciennes dépendances de travail. L'ajout temporaire d'une exclusion transitive Maven peut également le faire, si vous le rencontrez à partir d'une chaîne de dépendances transitive."
Une autre chose qui pourrait aider est de utilisez une" version plus récente " de maven que la 3.0.5 fournie. Pour le configurer pour l'utiliser par défaut, fermez toutes vos fenêtres intellij, puis ouvrez Préférences - > build, execution and deployment - > build tools - > maven, et modifiez le répertoire personnel maven, il devrait dire "pour le projet par défaut" en haut lorsque vous ajustez cela, bien que vous puissiez l'ajuster pour un projet particulier aussi bien, tant que vous "réimportez" après l'avoir ajusté.
Autres choses qui pourraient aider: supprimer votre intellij dossiers de cache (windows: HOMEPATH/.{IntellijIdea, IdeaC} XXX linux ~/.IdeaIC15) et / ou désinstaller et réinstaller IntelliJ lui-même. GL!
Lors de l'importation du projet, sélectionnez pom.xml
au lieu du répertoire du projet. Il devrait fonctionner.
Essayez de réimporter le projet à partir du panneau projets Maven dans IntelliJ IDEA. Il devrait télécharger et configurer toutes les dépendances définies dans votre pom.xml
automatiquement.
Si le téléchargement ne fonctionne pas à partir D'IDEA pour une raison quelconque, essayez mvn install
à partir de la ligne de commande et voyez si les dépendances peuvent être récupérées.
Bien sûr, toutes les dépendances requises et tous les dépôts personnalisés doivent être définis directement dans le fichier pom.xml
.
Pour IntelliJ 2016-2. 4 (et je crois que d'autres versions new-ish):
Affichage > Fenêtres D'Outils > Projets Maven
Dans la barre d'outils nouvellement révélée, sélectionnez Paramètres Maven (icône d'un jeu d'outils).
Lorsque cet écran s'ouvre, développez le menu Maven et cliquez sur "Importer"
Cliquez ici sur " Importer automatiquement les projets Maven."Assurez-vous également que l'option' JDK for Importer ' correspond à la version JDK que vous voulez utiliser.
Cliquez sur OK. Maintenant, allez à la dépendance rouge dans votre POM.xml, sélectionnez l'ampoule rouge et cliquez sur 'Mettre à jour les indices Maven'.
Si certains modules maven ne compilent pas, vérifiez si leur pom.xml est dans la liste" fichiers ignorés". Dans IntelliJ goto
Préférences - > Paramètres du projet - > Maven - > fichiers ignorés
Et vérifiez si le pom associé.xml est ignoré.
Ouvrir IntelliJ Idea
, Aller à
Fichier > Autres Paramètres > Paramètres Par Défaut... > Maven (Préférences) > importer ou|
Preferences > Maven > Importing
Cliquez sur Activer l'importation Automatique dans la console.
Lorsque vous créez un nouveau projet, il vous suffit de choisir l'option:
...
Importer un projet à partir d'un modèle externe
créer une structure de projet D'idée sur un modèle externe existant (Eclipse, Maven...)
...
Vous le trouverez assez simple à partir de là.
Et dans votre cas, vous pouvez fermer votre projet et simplement en créer un nouveau. Choisissez le répertoire de votre projet, qui le remplacera, ce qui en fait un projet Maven.
L'importation de dépendances Maven peut ne pas fonctionner si vous importez le même chemin plusieurs fois. Cela peut se produire automatiquement après l'importation d'un projet Maven existant. Je ne peux pas comprendre pourquoi cela se produit, donc je suis enclin à penser que c'est un bug.
Par exemple, si mon projet est
hibernate
src/main
src/test
Les trois chemins peuvent être importés en tant que nœuds supérieurs:
hibernate
src/main
src/test
Si tel est le cas, les dépendances semblent avoir raison, mais elles ne seront pas utilisées tant que vous n'aurez pas supprimé les chemins superflus (dans ce cas, src/main
et src/test
). Une fois cela fait, actualisez et cliquez sur construire > reconstruire le projet. Idée va ramasser les dépendances.
Un symptôme de ce problème est que IDEA vous avertit d'un chemin dupliqué lorsque vous vérifiez manuellement une bibliothèque (deuxième capture d'écran dans la question).
Il existe plusieurs façons de relire les dépendances au cas où vous en auriez besoin. Si vous allez dans L'onglet" projets Maven", il y a une icône" réimporter tous les projets Maven " en haut à gauche de l'onglet. Si vous soupçonnez L'idée est devenue confuse vous pouvez cliquer sur Fichier > invalider les Caches.
Ce qui m'a aidé:
Navigage: Paramètres | Construire, L'Exécution, Le Déploiement | Maven
Spécifiez "Maven home directory" - l'endroit où vous avez installé le maven
Réimporter le projet. Si vous installez le plugin maven vous pouvez utiliser cette.
Faites un clic droit sur le projet - > Maven - > réimporter
Allez dans votre structure de projet, sous Paramètres de projet, Modules, sélectionnez la table des dépendances. Pour chaque dépendance, changez la portée de 'Test' à 'Compile'.
J'ai eu le même problème avec mon macbook, j'ai juste fait un petit changement dans pom.xml
et il a commencé à télécharger toutes les dépendances:
Les dépendances antérieures ont été écrites comme ci-dessous pour ma machine windows:
<dependencies>
<dependency>
<groupId>javax.mail</groupId>
<artifactId>mail</artifactId>
<version>1.4</version>
</dependency>
</dependencies>
Je viens de supprimer les balises <dependencies>
et </dependencies>
et il a commencé à télécharger toutes les dépendances:
<dependency>
<groupId>javax.mail</groupId>
<artifactId>mail</artifactId>
<version>1.4</version>
</dependency>
Je ne suis pas sûr que cela fonctionnera pour vous ou non.. mais il a travaillé très bien pour moi.
Merci
Si dans le coin inférieur droit, il est dit " 2 processus en cours d'exécution..."ou similaire, vous devrez peut-être juste attendre que cela se termine, car il peut prendre du temps pour télécharger tous les pots.
J'ai résolu ce problème en mettant à jour mes paramètres.fichier xml avec la configuration correcte du miroir, semble qu'intellij va essayer de télécharger des méta-données à partir du référentiel chaque fois que le module maven est importé.
Détourner un peu pour ajouter ce qui a fini par fonctionner pour moi:
Allez dans la barre latérale Maven Projects
sur le bord droit de L'IDE, et vérifiez que vos dépendances sont listées correctement sous votre module. En supposant qu'ils le soient, demandez simplement à IDEA de réimporter ensuite (le premier bouton en haut ressemble à deux flèches bleues formant un cercle dans le sens antihoraire).
Une fois que j'ai fait cela, et que IDEA a rechargé le projet pour moi, toutes mes dépendances ont été comprises comme par magie.
Pour référence: ce était avec IDEA 13.1.2
J'ai fait face au même problème et j'ai essayé tout ce qui n'a pas résolu le problème, j'utilisais Intellij version 13.1.3
Enfin, après avoir passé plus de quelques heures à essayer de le réparer, j'ai décidé d'essayer une version améliorée et j'ai ouvert le projet dans la version 14.1.4 qui a finalement résolu le problème. Je pense que c'est un bug probable dans la version précédente.
J'espère que cela aide!
J'ai rencontré le problème que certaines sous-dépendances ne pouvaient pas être résolues dans IntelliJ 2016.3.X. Cela pourrait être corrigé en changeant le Maven home directory
dans Paramètres > construction, exécution , déploiement > outils de construction > Maven de Bundled (Maven 3)
à /usr/share/maven
.
Après cela, toutes les sous-dépendances ont été résolues comme dans les versions précédentes D'IntelliJ.
Maven-Reimport n'a pas fonctionné pour moi.
J'ai un projet Spring dans STS (Eclipse) et ma solution est d'importer le projet dans IDEA comme ceci:
1) Fichier-Nouveau-projet à partir de Sources existantes... - sélectionnez le répertoire-choisissez Eclipse.
2) Définissez Maven autoimport sur true dans les paramètres.
3) puis faites un clic droit dans pom.xml et choisissez Ajouter comme projet Maven.
Après cela, il a importé le tout.
Vérifiez D'abord le chemin spécifié pour fichier de paramètres utilisateur: dans Paramètres -> Build,Execution,Development -> Build Tools -> Maven . Le champ doit avoir le chemin des paramètres .xml de votre maven. Aussi les paramètres.xml doit avoir le chemin correct du référentiel distant.
Si tout le reste échoue, vérifiez si le fichier jar dans votre local .le référentiel m2 est en effet valide et non corrompu. Dans mon cas, le fichier n'a pas été entièrement téléchargé.
Dans maven, les dépendances ont été incluses pour moi lorsque j'ai supprimé la section XML dependencyManagement et que j'avais juste des dépendances directement sous la section project
Rien n'a fonctionné pour moi jusqu'à ce que j'ai essayé "File --> Open"
et ensuite navigué vers le fichier POM lui-même.
Le problème semble être que malgré la liste de vos dépendances dans le pom.xml, IntelliJ IDEA ne reconstruit pas ces dépendances lorsque vous exécutez votre projet.
Ce qui a fonctionné pour moi est ceci:
Allez dans 'Exécuter' - > ' Modifier les Configurations...', Trouvez votre application, assurez-vous que la section" avant le lancement: "est développée, cliquez sur le signe vert plus et sélectionnez "construire un projet".
J'ai pu le résoudre en supprimant les modules inutiles de la listeParamètres du projet -> Modules .
Il s'avère que ces modules supplémentaires ont été créés automatiquement par IntelliJ IDEA lorsque j'ai créé le projet IntelliJ en l'important à partir du dossier du projet (au lieu d'ouvrir pom.XML). Ensuite, après avoir déclaré le projet comme projet Maven, des modules appropriés ont été créés et les modules existants étaient en conflit avec eux. Il est également possible de exclure ces modules lors de la création du projet.
J'ai eu un problème similaire, dans mon cas, j'utilise un settings.xml
personnalisé qui n'a pas été choisi à partir D'IntelliJ.
Solution:File > Settings > Build, Execution, Deployment > Maven: User settings file
(choisi ici mes paramètres personnalisés.XML).