L'idée Intellij ne peut rien résoudre dans maven

130

Je suis nouveau sur Intellij Idea, je viens d'importer un projet avec pom.xml , mais l'ide n'a rien résolu dans les dépendances maven.

Tout ce qui est défini dans les pom.xmldépendances lors de l'importation dans le code génère une erreurcannot resolve symbol xxxxx

Mais mvn installfonctionnera, j'essaie d' importer les dépendances dans Project Settings/Librariesdans les .jarfichiers, il fonctionne, mais je ne pouvais les bibliothèques de résoudre ide définies dans pom.xml? je ne veux pas faire ça à chaque fois.

Informations supplémentaires:

Version IDEA: 12.0.3, OS: Windows 7, la réimportation ne fonctionne pas, version maven: 3.0.4, les dépendances maven n'existent pas sous les bibliothèques externes.

il n'y a pas d'exceptions dans idea.log ...

Éclater
la source
Version IDEA? Des exceptions liées dans idea.log ? Version Maven? Quel OS utilisez-vous? Le bouton Réimporter fonctionne-t-il dans la Maven Projectsfenêtre d'outils? Voyez-vous les dépendances sous le External Librariesnœud dans le Project View?
CrazyCoder
Version IDEA: 12.0.3, OS: Windows 7, la réimportation ne fonctionne pas, version maven: 3.0.4, les dépendances maven n'existent pas sous les bibliothèques externes.
Rafale du
il n'y a pas d'exceptions dans idea.log ...
Burst
Essayez IDEA 12.1 , activez Maven 3 dans Settings| Maven| Importing, la configuration du réseau peut également l'affecter .
CrazyCoder
merci pour votre réponse, cela fonctionne maintenant, mais il y a toujours un problème: les dépendances qui scope = system ne seront pas déployées lors de l'exécution dans tomcat.
Rafale du

Réponses:

118

Dans IntelliJ 12.1.4, je suis passé par Settings --> Maven --> Importinget je me suis assuré que ce qui suit était sélectionné:

  1. Importer automatiquement des projets Maven
  2. Créer des modules IDEA pour les projets d'agrégation
  3. Garder la source ...
  4. Exclure le répertoire de construction ...
  5. Utiliser la sortie Maven ...
  6. Dossiers de souces générés: "détecter automatiquement"
  7. Phase à venir: "processus-ressources"
  8. Télécharger automatiquement: "sources" et "documentation"
  9. Utilisez Maven3 pour importer un projet
    • Options de VM pour l'importateur: -Xmx512m

Cela m'a fait passer d'un grand nombre de déclarations d'importation non résolues à la résolution de tout. Je pense que la clé ici était d'utiliser Maven3 pour importer le projet ... J'espère que cela aide.

MCP
la source
15
C'est bien, mais j'ai également dû charger le projet en tant que projet Maven - choisissez Fichier | Ouvrez, votre pom.xml et attendez.
MaKri
3
Cette réponse et le premier commentaire ont résolu mon problème. Merci les gars!
miken.mkndev
J'avais besoin d'augmenter encore plus la mémoire pour l'importateur et j'ai finalement opté pour -Xmx4096m (c'est un gros projet). Ceci est différent des paramètres de mémoire dans idea.vmoptions!
Yasammez
Merci, j'ai eu un problème où Maven 3.0.5 (fourni) n'entraînerait aucune importation de dépendances maven, mais la mise à jour pour utiliser 3.3.9 permettait à toutes les dépendances d'être importées correctement.
Matthew Buckett
Je ne sais pas pourquoi IDEA n'a pas de menu contextuel similaire à Eclipse pour créer un projet basé sur maven. Avec la version 2017.2, vous devez faire Fichier> Autres paramètres> Paramètres par défaut> rechercher maven dans le champ de recherche. IDEA a vraiment un mauvais UX par rapport à Eclipse
vikramvi
116

J'ai rencontré ce problème, l'idée ne peut pas télécharger tous les packages jar dépendants à l'aide de maven, j'ai juste essayé les opérations suivantes:

 mvn -U idea:idea

puis tous les packages jar dépendants sont téléchargés depuis le référentiel maven

ranpengcoder
la source
4
Remarque: ce plugin est retiré. Il n'est plus maintenu. maven.apache.org/plugins/maven-idea-plugin
petertc
6
C'est la seule solution de cette page qui fonctionne pour moi aussi !!
nahab
Je suis confronté à ce problème depuis longtemps .. et cela m'a sauvé la journée (/ jours) ... Merci beaucoup !!
codeMan
Cela m'aide. Je vous remercie.
Anna Kaygorodova
3
Quelqu'un peut-il expliquer pourquoi cela fonctionne? C'était la seule bonne solution pour moi malgré le plugin retiré, en décembre 2017.
Z3d4s
34

J'obtenais également cette erreur car le projet importait les dossiers principaux et de test en tant que modules. Cliquez sur Projet -> Appuyez sur F4 -> Dans les paramètres du module, supprimez les dossiers principaux et de test et refaites le projet. Le problème sera résolu.

Anurag
la source
1
Cela s'est également avéré être mon problème après avoir importé un projet Maven existant dans IntelliJ 14.0.3 et sélectionné toutes les options par défaut pendant le processus d'importation.
Nate R.
Après des heures de recherche, cela a fait l'affaire pour moi. Bénir!
SourceVisor
Cela a fonctionné pour moi aussi! Est-ce que quelqu'un sait pourquoi cela rompt la résolution?
dmi_
Cela a fonctionné pour moi, c'est le plus simple que j'ai essayé .. Merci!
rrw
1
+1 ... cela a totalement fait l'affaire pour moi. Tout semblait être bien configuré, pom.xml était lu, les bibliothèques étaient présentes, mais il fallait le faire pour que les erreurs disparaissent.
davesbrain
34

J'ai rencontré ce problème lors de l'utilisation de l'instance Maven 3 fournie par IntelliJ 14.

J'ai opté pour ma propre instance Maven locale, via:

Settings -> Build, Execution, Deployment -> Build Tools -> Maven -> Maven Home Directory

Ensuite, j'ai ajouté le chemin d'accès à mon instance installée localement.entrez la description de l'image ici

Cela a fait apparaître les dépendances par magie.

entrez la description de l'image ici

Conor Svensson
la source
1
Incroyable. Celui-ci a fonctionné pour moi, après beaucoup de maux de tête. J'ai téléchargé maven 3.5 sur Internet. Merci beaucoup !!
sumanth232
sauvé ma journée !! Merci Conor
Dota2
Wow, c'était comme si quelque chose s'était dégagé à l'intérieur de l'idée après avoir fait cette astuce. Merci Connor.
Bnrdo
Décidément, je n'aurais jamais pensé à ne pas avoir à utiliser la version fournie de maven et à utiliser la mienne. Cela a totalement fonctionné après avoir passé quelques heures à essayer toutes sortes de choses.
zen
Super !! Cela a fonctionné comme un jeu d'enfant. Merci beaucoup pour l'aide.
Sanjeev
10

J'ai essayé plusieurs options, mais celle-ci a finalement résolu mon problème. J'ai réimporté le projet en suivant ces étapes dans IntelliJ:

  1. Fichier -> Nouveau -> Projet à partir de référentiels existants
  2. Choisissez votre projet dans 'Sélectionner un fichier ou un répertoire à importer'

  3. Dans l'écran suivant, choisissez «Importer un projet à partir d'un modèle externe», puis choisissez «Maven.

  4. À l'étape suivante, cochez la case ' Importer automatiquement des projets Maven ', (cela a résolu mon problème)
  5. Terminez en choisissant des profils si nécessaire

Pour moi, la réimportation de projets maven n'a pas résolu le problème d'un projet existant.

Caytekin
la source
5

Pour moi le problème ce que je devais cocher la case "Importer automatiquement les projets maven" sous Paramètres> Maven> Importer

Laura Liparulo
la source
Merci! Still est une solution à jour pour Intellij IDEA 2016. L'importation Maven a permis d'ouvrir un projet maven existant de manière transparente contrairement à une ouverture de projet qui a causé plusieurs problèmes de dépendance!
Exterminator13
5

Je viens de rencontrer le même problème après la mise à jour d'IntelliJ. Mon correctif: clic droit sur le projet, puis maven -> réimporter.

Jarosław Jaryszew
la source
5
  1. Fermer IntelliJ
  2. Ouvrez le même projet
  3. Lorsque le projet se charge, en bas à droite, vous pouvez voir un pop-up disant non-managed pom.xml file found, si vous cliquez dessus, un nouveau pop-up apparaîtra, disant add as maven project, cliquez dessus, et c'est fait.
hulesh chandra
la source
4

J'obtenais cette erreur car mon projet n'était pas configuré correctement. Il avait importé des dossiers principaux et de test en tant que modules. Lorsque j'ai supprimé les 2 modules (mais les ai conservés comme dossiers source et test), mon code a commencé à se compiler correctement.

vishal
la source
4

J'ai eu le même problème en tant qu'auteur!

Pour résoudre mon problème, j'ai dû ajouter le plugin d'intégration Maven: Fichier | Paramètres | Plugins

Comme ça:

Plugin d'intégration Maven

Après cela, Intellij a téléchargé toutes les dépendances à partir du fichier pom.xml.

Maintenant, si je veux créer un projet basé sur le modèle maven, je choisis simplement Ouvrir dans la première fenêtre Intellij et choisir le fichier pom.xml:

entrez la description de l'image ici

Anatolii Stepaniuk
la source
Cela a fait l'affaire pour moi. Pour une raison quelconque, j'avais seulement essayé d'importer le projet (un grand projet Maven avec de nombreux sous-modules).
Torbjørn Kristoffersen
2

Si vous avez importé votre projet maven dans IntelliJ et qu'il y a des erreurs dues au fait que les importations maven ne sont pas résolues, c'est peut-être à cause des paramètres maven personnalisés.xml que vous utilisez peut-être. J'ai essayé de le remplacer dans les paramètres maven par défaut d'Intellij, mais cela n'a pas aidé. Enfin, j'ai dû le conserver dans ~ / .m2 / settings.xml, puis IntelliJ l'a finalement honoré.

sdm
la source
C'est le paramètre par défaut, oui?
rogerdpack
2

J'avais un fichier settings.xml vide dans Users /.../. M2 / settings.xml. Quand j'ai ajouté

<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0
                      https://maven.apache.org/xsd/settings-1.0.0.xsd">

</settings>

toutes les dépendances ont été chargées

Valeriy K.
la source
1

Dans Paramètres -> Maven -> Référentiels seuls certains référentiels configurés dans mes paramètres s'affichent.

solution de contournement

C'est probablement un bug (Idea 13.1.5 Ultimate). Cela m'a aidé à changer les rétroviseurs. Celui qui ne montrait pas au sommet.

Amio.io
la source
1

Avec intelliJ 16.1.4, j'ai eu le même problème. Vous devriez jeter un œil au journal des événements, car il m'a dit "Fichier pom.xml non géré trouvé: ..." J'ai ensuite cliqué dessus et le problème a été résolu.

Luka Hale
la source
1

Dans mon cas, j'ai développé le panneau des projets maven sur le côté droit, j'ai cliqué sur + et j'ai ajouté le projet. Ensuite, cela a fonctionné.

Murat
la source
1

Si vous avez des dépendances dans pom.xml spécifiques à votre organisation, vous devez mettre à jour le chemin de setting.xml pour votre projet qui est défini par défaut sur votre répertoire utilisateur dans Ubuntu: /home/user/.m2/settings.xml - > (changez-le en votre chemin de conf apache-maven)

Mettre à jour le fichier Setting.xml Intellij

Pukhraj soni
la source
0

3 étapes simples: IntelliJ 14:

  1. Fichier> paramètres> Construction, exécution, déploiement> Outils de construction

  2. Sélectionnez Maven

  3. Répertoire de base Maven: C: / Program Files / apache-maven-3.3.3 (votre emplacement équivalent)

Zillani
la source
0

Gardez à l'esprit qu'IntelliJ ajoute les classes de votre installation Maven locale à son propre chemin de classe , alors gardez-le à jour.

Dans mon cas, IntelliJ a essayé d'appeler la méthode org.eclipse.aether.util.ConfigUtils.getFloat(). Cela a causé un java.lang.NoSuchMethodError, parce que ma version Maven vieille de plusieurs années ne contenait pas encore cette méthode. En raison de l'exception, IntelliJ a arrêté de résoudre les dépendances.

Après la mise à jour de Maven, vous devez modifier le paramètre "Répertoire de base Maven" dans "Build, Execution, Deployment" -> "Maven". Après cela, vous devez redémarrer IntelliJ, car le chemin de classe de la JVM d'IntelliJ ne changera pas pendant l'exécution.

Il m'a fallu un certain temps pour résoudre ce problème, car je ne m'attendais pas à ce qu'IntelliJ utilise les classes de mon installation Maven locale. Je pensais qu'il utilise ses propres JAR groupés. J'espère donc que cette information sera utile pour les autres.

arête
la source
0

<option name="workOffline" value="true" />ce workspace.xmln'est pas votre ami. Conseillez de vérifier cela avant de supprimer votre .idea(qui a beaucoup de paramètres utiles que vous ne voulez probablement pas perdre)

C'est un workspace.xmldécor maven

ycomp
la source
0

Il me semble que les solutions à ce problème sont nombreuses et toutes semblent un peu magiques. Pour moi, l'invalidation des caches, la réimportation ou tout autre élément déjà mentionné ne fonctionnait pas. La seule chose qui a aidé était (sans réimportation) d'aller dans les paramètres Maven, de décocher l'importation automatique et de la revérifier.

entrez la description de l'image ici

Martin D
la source
0

il y a un problème avec la version Maven fournie. comme quelqu'un l'a suggéré précédemment, je suis passé à ma propre installation Maven et les dépendances fonctionnaient comme par magie (IntelliJ 2018.3)

Alejandro García
la source
0

Je viens d'avoir ce problème lors de l'ajout d' <dependency>...</dependency>éléments à un fichier <profile>. Je viens de découvrir que si j'ajoute (insère) les éléments de dépendance non résolus à l' <dependencies>élément, les dépendances sont téléchargées à partir du référentiel maven; Je peux ensuite supprimer l'élément dependency de l'élément dependencies.

JL_SO
la source
0

L'utilisation de maven par défaut (fourni avec IntelliJ) peut également créer ce problème. Configurez donc le maven que vous avez installé.

Cela peut être fait à partir de: Fichier -> Paramètres -> Build, Execution, Deployment -> Maven

Mettez à jour les paramètres suivants en fonction de votre installation maven:

  1. Répertoire de base Maven =
  2. Fichier de paramètres utilisateur =
  3. Dépôt local =
horizon7
la source
0

D'accord, j'ai été confronté à ce problème pendant des jours. J'essayais d'importer la bibliothèque POI et la bibliothèque Simple JSON, j'ai essayé toutes les réponses proposées et la solution n'a rien fonctionné. En fin de compte, la solution pour mon cas était assez simple

J'avais juste besoin d'ajouter ce qui suit à mon fichier module-info.java après avoir mis les dépendances dans mon fichier POM:

 requires poi.ooxml;
 requires poi;
 requires json.simple;

donc je pense que parce que mon projet était dans un package dans un module, j'ai dû le faire pour que le système sache que ces bibliothèques importées seront utilisées. si simple, mettez le nom de la bibliothèque après require dans votre fichier module-info.java

J'espère que ça marche pour toi

Abdussalam
la source
0

allez dans les bibliothèques externes et supprimez-les toutes les bibliothèques qui disent root après avoir cliqué sur réimporter tout le projet

entrez la description de l'image ici

Andy Quiroz
la source