J'ai une petite question à propos d'IntelliJ IDEA 11. Je viens d'importer un projet de Subversion, 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 automatiquement toutes les dépendances de maven - IDEA affiche les erreurs de dépendance uniquement lorsque j'ouvre cette classe/C'est ce que j'obtiens ici:
Je veux donc que toutes les dépendances soient ajoutées automatiquement - est-ce possible ou dois-je consulter tous les fichiers de classe pour identifier et ajouter des dépendances maven?!
MISE À JOUR: Après quelques modifications, j'ai trouvé un moyen de résoudre mon problème. C'est ce que j'ai fait:
mais je pense logiquement que cela n'inclut pas et ne vérifie pas les nouvelles dépendances à venir?! ... Existe-t-il une zone de paramètres pour cela dans intelliJ - dépendances d'exportation automatique vers classpath?!
IntelliJ doit télécharger et ajouter automatiquement toutes vos dépendances au chemin de classe 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 vous demande généralement si vous souhaitez configurer Importation automatique pour les projets Maven. Cela signifie que si vous apportez des modifications à votre POM, ces modifications seront automatiquement chargées.
Vous pouvez activer cette fonction dans Fichier> Paramètres> Maven> Importation. Une case à cocher indiquant "Importer automatiquement les projets Maven" est également disponible.
Si cela ne vous aide pas, je vous suggère de procéder à un nettoyage complet et de recommencer:
*.iml
et tous les dossiers .idea
(il devrait y en avoir un par module).mvn clean install
à partir de la ligne de commandeMise à jour IntelliJ 2016 :
Le paramètre Importer automatiquement les projets Maven a été déplacé vers Construire, Exécution, Déploiement> Outils de compilation> Maven> Importer dans vos préférences IntelliJ.
Je pensais jeter mon 0,02 $ ici: Pour moi, la solution à ce problème était d'aller à
Fichier [menu] -> Paramètres -> maven -> importation et décochez "utiliser maven3 pour importer un projet"
ref: http://youtrack.jetbrains.com/issue/IDEA-98425 (qui peut aussi avoir quelques autres idées)
Mise à jour: Répétez cette opération avec IntelliJ 15, qui ne dispose plus de l'option "utiliser maven3 pour importer". La cause en était que parfois IntelliJ "n'analyse pas correctement les dépendances maven" et s'il ne parvient pas à analyser correctement l'un d'entre eux, il abandonne apparemment tous d'entre eux. 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 de real en déplaçant la souris sur le nom du projet lui-même.
Dans mon exemple, il était écrit "Problèmes: aucune version disponible pour XXX" ou "Impossible de lire le descripteur de l'artefact org.xy.z" ref: https://youtrack.jetbrains.com/issue/IDEA-128846 and https://youtrack.jetbrains.com/issue/IDEA-152555
Il semble que dans ce cas, j’ai eu affaire à un bocal n’ayant pas de fichier pom associé (dans notre référentiel maven nexus, ainsi que dans mon référentiel local). Si c’est également votre problème, vous pouvez vous en servir si vous n’avez pas besoin d’utiliser les classes de ce fichier jar dans votre propre code (par exemple, une dépendance transitive maven uniquement). (temporairement), le projet maven est rechargé, puis supprimez la mise en commentaire. Après cela, IntelliJ "se souvient" de ses anciennes dépendances de travail. Ajouter une exclusion mictive transitive temporairement pourrait également le faire, si vous le rencontriez dans une chaîne de dépendances transitive. "
Une autre chose qui pourrait aider est d’utiliser une "version plus récente" de maven que celle fournie avec la version 3.0.5 . Fournie. Pour la configurer en tant que configuration par défaut, fermez toutes vos fenêtres intellij, puis ouvrez les préférences -> build , exécution et déploiement -> outils de compilation -> maven, et changez le répertoire de base de maven, il devrait indiquer "Pour le projet par défaut" en haut de l'ajustement, mais vous pouvez également l'ajuster pour un projet particulier, tant que vous "importez" après l'avoir ajusté.
Autres actions utiles: suppression de vos dossiers de cache intellij (Windows: HOMEPATH /. {IntellijIdea, IdeaC} XXX linux ~/.IdeaIC15) et/ou la désinstallation et la réinstallation d’IntelliJ. GL!
Lors de l'importation du projet, sélectionnez pom.xml
au lieu du répertoire du projet. Ça devrait marcher.
Essayez de réimporter le projet à partir du panneau Projets Maven d’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 de IDEA pour une raison quelconque, essayez mvn install
à partir de la ligne de commande et voyez si les dépendances peuvent être extraites.
Bien entendu, toutes les dépendances requises et tous les référentiels personnalisés doivent être définis directement dans le fichier pom.xml
.
Pour IntelliJ 2016-2.4 (et je crois d'autres versions nouvelles):
Affichage> Fenêtres d'outils> Projets Maven
Dans la barre d'outils récemment 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".
Ici, cliquez sur "Importer les projets Maven automatiquement". Assurez-vous également que l'option "JDK pour l'importateur" correspond à la version du 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 index Maven'.
Ce qui m'a aidé:
Navigation: Paramètres | Construire, Exécuter, Déployer | Maven
Spécifiez "répertoire de base Maven" - l'emplacement d'installation du maven.
Si certains modules maven ne compilent pas, vérifiez si leur pom.xml figure dans la liste des "fichiers ignorés". Dans IntelliJ goto
préférences -> paramètres du projet -> maven -> fichiers ignorés
et vérifiez si le pom.xml associé est ignoré.
Ouvrez IntelliJ Idea
, allez à Fichier> Autres paramètres> Paramètres par défaut ...> Maven (Préférences)> Importation ou | Preferences > Maven > Importing
Cliquez sur Activer l'importation automatique dans la console.
L'importation de dépendances Maven peut ne pas fonctionner si vous importez plusieurs fois le même chemin. Cela peut se produire automatiquement après l'importation d'un projet Maven existant. Je n'arrive pas à comprendre pourquoi cela se produit, alors 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 noeuds supérieurs:
hibernate
src/main
src/test
Si tel est le cas, les dépendances semblent être correctes, mais elles ne seront utilisées que si vous supprimez les chemins superflus (dans ce cas, src/main
et src/test
). Une fois cela fait, actualisez et cliquez sur Construire> Reconstruire le projet. IDEA récupérera 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 de 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 pensez que IDEA est devenu confus, vous pouvez cliquer sur Fichier> Invalider les caches.
Lorsque vous créez un nouveau projet, vous devez simplement choisir l'option:
...
Importer un projet depuis un modèle externe
Créer une structure de projet IDEA 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 et en fera un projet Maven.
Allez dans la structure de votre projet, sous Paramètres du projet, Modules, sélectionnez le tableau des dépendances. Pour chaque dépendance, modifiez la portée de 'Test' à 'Compile'.
Réimporter le projet. Si vous installez le plugin maven, vous pouvez l'utiliser.
Faites un clic droit sur le projet -> Maven -> Réimporter
Premier chemin de vérification Spécifié pour Fichier de paramètres utilisateur: dans Paramètres -> Construire, Exécution, Développement -> Outils de compilation -> Maven . Le champ doit avoir le chemin du settings.xml de votre homme. De plus, le fichier settings.xml doit avoir le chemin correct du référentiel distant.
J'ai eu le même problème avec mon macbook, juste une petite modification dans pom.xml
et le téléchargement de toutes les dépendances a commencé
Les dépendances antérieures étaient é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 le téléchargement de toutes les dépendances a commencé:
<dependency>
<groupId>javax.mail</groupId>
<artifactId>mail</artifactId>
<version>1.4</version>
</dependency>
Je ne suis pas sûr que cela fonctionne pour vous ou non .. mais a bien fonctionné pour moi.
Merci
J'ai rencontré le même problème et essayé tout ce qui a été suggéré mais qui n'a pas résolu le problème. J'utilisais Intellij version 13.1.3.
Finalement, après avoir passé plus de deux heures à essayer de résoudre ce problème, j'ai décidé d'essayer une version mise à niveau et ouvert le projet en version 14.1.4, ce qui a finalement résolu le problème. Je penserais cela comme un bogue probable dans la version précédente.
J'espère que ça aide!
J'ai résolu ce problème en mettant à jour mon fichier settings.xml avec la configuration de miroir correcte, semble qu'intellij essaie de télécharger les métadonnées du référentiel chaque fois que le module maven est importé.
Suppression du dossier .idea du répertoire du projet, puis réimportation du projet en tant que projet Maven est ce qui a fonctionné pour moi.
Maven - Reimport n'a pas fonctionné pour moi . J'ai un projet Spring dans STS (Eclipse) et ma solution consiste à importer le projet dans IDEA comme suit:
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) Cliquez ensuite avec le bouton droit de la souris dans pom.xml et choisissez Ajouter en tant que projet Maven.
Après cela, tout a été importé.
Si dans le coin inférieur droit, il est écrit "2 processus en cours ..." ou similaire, vous devrez peut-être attendre que l'opération soit terminée, car le téléchargement de tous les fichiers jar peut prendre du temps.
J'ai pu résoudre ce problème en supprimant les modules inutiles de la liste Paramè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 important depuis le dossier du projet (au lieu d'ouvrir le fichier pom.xml). Ensuite, après avoir déclaré le projet en tant que projet Maven, les modules appropriés ont été créés et les modules existants étaient en conflit avec eux. Il est également possible d'exclure ces modules lors de la création du projet.
Détournant un peu pour ajouter ce qui a finalement fonctionné pour moi:
Allez dans la barre latérale Maven Projects
sur le bord droit de l'EDI et vérifiez que vos dépendances sont répertoriées correctement sous votre module. En supposant qu'ils le soient, il suffit de demander à IDEA de procéder à une nouvelle importation (le premier bouton en haut ressemble à deux flèches bleues formant un cercle dans le sens anti-horaire).
Une fois que j’ai fait cela et laissé IDEA recharger le projet pour moi, toutes mes dépendances ont été comprises comme par magie.
Pour référence: c'était avec IDEA 13.1.2
J'ai rencontré un problème: certaines sous-dépendances ne pouvaient pas être résolues dans IntelliJ 2016.3.X. Cela pourrait être corrigé en modifiant le Maven home directory
dans Paramètres> Construire, Exécution, Déploiement> Outils de compilation> 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.
J'ai eu le même problème et essayé toutes les réponses mentionnées ici, aucune n'a fonctionné.
La solution simple consiste à accéder au dossier de votre projet, à supprimer tous les fichiers .idea et .iml, puis à redémarrer IntelliJ ide. Ça marche. Pas besoin de faire quoi que ce soit avec les paramètres.
Je devais définir correctement le répertoire personnel Maven dans les paramètres et cocher "Importer le projet maven automatiquement" dans la section d'importation dans les paramètres. Il a commencé à résoudre les dépendances après cela.
Dans maven, les dépendances ont été incluses pour moi lorsque j'ai supprimé la section xml de dependencyManagement et que je n'avais que des dépendances directement dans la section projet
j'ai pu réparer le mien en ajoutant ces lignes de code après la balise de construction dans le fichier pom.xml. Je l'ai comparé à partir de mon projet en cours d'exécution et j'ai découvert que c'était la différence. Maintenant, je suis tout bon.
<repositories>
<repository>
<id>spring-snapshots</id>
<name>Spring Snapshots</name>
<url>https://repo.spring.io/snapshot</url>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
<repository>
<id>spring-milestones</id>
<name>Spring Milestones</name>
<url>https://repo.spring.io/milestone</url>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>spring-snapshots</id>
<name>Spring Snapshots</name>
<url>https://repo.spring.io/snapshot</url>
<snapshots>
<enabled>true</enabled>
</snapshots>
</pluginRepository>
<pluginRepository>
<id>spring-milestones</id>
<name>Spring Milestones</name>
<url>https://repo.spring.io/milestone</url>
</pluginRepository>
</pluginRepositories>
J'ai eu un problème similaire, dans mon cas, j'utilise un settings.xml
personnalisé qui n'a pas été sélectionné dans IntelliJ.
Solution: File > Settings > Build, Execution, Deployment > Maven: User settings file
(choisissez ici mon fichier settings.xml personnalisé).
Si tout le reste échoue, vérifiez si le fichier JAR de votre référentiel .m2 local est bien valide et non corrompu. Dans mon cas, le fichier n'avait pas été complètement téléchargé.
Dans mon cas, le chemin d'accès pour Java utilisé par MAVEN n'était pas défini sur Java_HOME tel que configuré sur la machine. Par conséquent, il n'essayait même pas de télécharger les dépendances. Les étapes que j'ai suivies qui ont résolu ce problème,
Vérifié le chemin Java, Paramètres >> Construire >> Outils de compilation >> Importer >> JDK pour l'importateur. Il l'a pointé sur Java_HOME.
mvn clean install -U
Utilisé ci-dessus pour forcer le téléchargement des dépendances.
Re importés Maven Projects
Rien n'a fonctionné pour moi jusqu'à ce que j'aie essayé "File --> Open"
, puis que je me sois dirigé vers le fichier POM.
Vous travaillez peut-être sous le réseau interne d'une entreprise.
Si tel est le cas, pour télécharger ou ajouter des dépendances Maven externes, il peut être nécessaire de mettre à jour votre fichier settings.xml
sous user/<username>/.m2
.
Contactez votre administrateur pour lui fournir le fichier settings.xml
correct, puis pour le coller dans votre dossier .m2
.
Le problème semble être que malgré la liste de vos dépendances dans le fichier pom.xml, IntelliJ IDEA ne reconstruit pas ces dépendances lorsque vous exécutez votre projet.
Ce qui a fonctionné pour moi est la suivante:
Allez dans "Exécuter" -> "Modifier les configurations ...", recherchez votre application, assurez-vous que la section "Avant le lancement:" est développée, cliquez sur le signe plus vert et sélectionnez "Construire le projet".