web-dev-qa-db-fra.com

IntellijIDEA ne reconnaissant pas les classes spécifiées dans les dépendances Maven

J'ai un projet dans IntellijIDEA qui a été créé avec Maven. J'ai ensuite spécifié un ensemble de dépendances et de référentiels externes dans le fichier Pom.xml.

Le projet se construit bien en ligne de commande si je fais "mvn install". Lorsque j'ouvre un des fichiers de code dans IDE, il indique cependant que toutes les classes gérées par les dépendances Maven ne sont pas reconnues - comme ce serait le cas pour un projet normal si je n'ai jamais ajouté les JAR requis au chemin de génération.

Je sais que dans mes projets Eclipse Maven (plutôt que IntelliJ), il apparaît généralement un répertoire supplémentaire à gauche qui indique "Dépendances Maven" et répertorie les fichiers JAR entrés via maven. Je ne vois pas ça ici. Qu'est-ce que je fais mal?


Voici à quoi ressemble mon écran:

IDE Image

52

Pour une raison quelconque, la réimportation n’a pas fonctionné. Après avoir regardé ceci:

http://www.jetbrains.com/idea/webhelp/maven-importing.html

J'ai mis l'importation automatique et puis le problème est parti cependant; j'espère que cela aidera quelqu'un d'autre. Merci pour les idées tout le monde :).

28

Après avoir installé IntelliJ IDEA sur un nouvel ordinateur, je me suis retrouvé avec le même problème.

Je devais mettre à jour le référentiel Maven distant. (Settings > Maven > Repositories)

enter image description here

Les pensions locales et distantes devaient être mises à jour. La télécommande n'a jamais été mise à jour auparavant. Après un redémarrage, tout a bien fonctionné. Vous devrez peut-être réimporter votre projet.

26
Max

Je courais dans des problèmes similaires. En fin de compte, j'ai importé le projet de manière incorrecte. Je faisais 

import project
    <navigate to existing project and click top level directory>
    follow the wizard

Ce qui a résolu mes problèmes de maven était de faire

import project
    <navigate to existing project and click the pom.xml
    follow the wizard
19
grinch

Vous pouvez aller à:

Fichier> Paramètres> Construire, Exécution, Déploiement> Outils de compilation> Maven

et vérifiez si votre pom.xml ne figure pas dans la liste "Fichiers ignorés".

18
Jarek

Pour moi, Fichier >> Invalider le cache/redémarrer >> Invalider et redémarrer dans IntelliJ

4
Sherin Syriac

Une simple réimportation et/ou mise à jour des référentiels via Intellij ne m'a pas aidé.

Au lieu de cela, j'ai dû supprimer le répertoire complet ~/.m2/repository et laisser maven tout régler par lui-même. Ensuite, Maven -> Reimport l'a terminé.

3
Matt

Dans mon cas, le problème était que le projet était dans maven2 alors qu'intellij était configuré pour maven 3. Le passage à maven2 dans les paramètres a résolu le problème.

2
Stefano Ghezzi

Pourrait être utile à d'autres qui étaient encore bloqués comme moi. Aucune des solutions suggérées n'a fonctionné. En fait, pas avant que je résolve mon problème principal qui était l'emplacement d'installation de Maven.

Dans mon cas, je n'ai pas utilisé l'emplacement standard. La modification de cet emplacement dans les paramètres maven ( Paramètres/Maven/référentiel de base Maven ) a été l’essentiel.

Mes 2 centimes.

1
mikey

Allez à Fichier> Paramètres> Construire, Exécution, Déploiement> Outils de construction> Maven Et vérifiez le répertoire de base Maven. Cela devrait être la même installation maven utilisée pour la ligne de commande

1

Cela m'est également arrivé après la mise à niveau d'Intellij vers la version 1.4.15. J'ai essayé de réimporter tout le projet avec le même résultat, mais l'activation de Maven Auto Import a fonctionné.

0
Eirik

Il semble y avoir plusieurs raisons valables pour lesquelles intelliJ ignorerait un fichier pom . Aucune des réponses précédentes n’a fonctionné dans mon cas.

Dans cet exemple, le module 3 était complètement ignoré par IntelliJ. Le fichier pom.xml de ce répertoire n'était même pas traité comme un pom maven.

Ma structure de projet est la suivante:

myProject
    module1
    module2
    module3

MAIS, ma structure de pom (simplifiée) est comme ceci:

<project>
    <modelVersion>4.0.0</modelVersion>
    <groupId>devs</groupId>
    <artifactId>myProject</artifactId>
    <version>0.0-SNAPSHOT</version>
    <packaging>pom</packaging>
    <name>myProject</name>

    <modules>
        <module>module1</module>
        <module>module2</module>
    <modules>

    <profiles>
        <profile>
            <id>CompleteBuildProfile</id>
            <modules>
                <module>module3</module>
            </modules>
        </profile>
    </profiles>
</project>

Pour résoudre ce problème, j'ai modifié l'élément racine <modules> afin d'ajouter temporairement module3.

    <modules>
        <module>module1</module>
        <module>module2</module>
        <module>module3</module>
    <modules>

Ensuite, réimportez le pom racine et IntelliJ ajoutera le module . Une fois terminé, retournez le pom. IntelliJ vous demandera si vous souhaitez également supprimer module3 de la structure du projet. Cliquez sur No.

Bam! Terminé. Module3 fonctionne et je peux exécuter à nouveau mes tests d'intégration à partir d'IntelliJ: D

0
HankScorpio

Le cache pose des problèmes! Assurez-vous de faire ce qui suit:

Dans votre terminal, accédez au projet/module:

mvn clean install

Dans votre IntelliJ:

  1. Fichier> Invalider les caches> Invalider

  2. Faites un clic droit sur projet/module> Maven> Réimporter

0
Luis Azanza

Le problème a été causé pour moi en sélectionnant le répertoire du projet à importer lors du premier démarrage d'IntelliJ plutôt que le fichier pom.xml du projet.

Fermer le projet posant problème, puis suivre à nouveau le processus d'importation, mais choisir le pom.xml a abouti à un projet entièrement opérationnel dans l'EDI.

0
nickebbitt

Pour moi le problème semble être un conflit avec le plugin maven helper ( https://plugins.jetbrains.com/plugin/7179?pr=idea

Je le désactive, et ça marche encore :)

0
fan

Pour moi, l'astuce consistait à ajouter les dépendances dans Fichier> Paramètres du projet> Modules> Dépendances.

0
hosford42

Pour des raisons que je ne comprends pas, dans mon cas, il fallait activer le paramètre "Toujours mettre à jour les instantanés" dans Construire, Exécutions, Déploiement> Outils de construction> Maven.

Cela a rendu IntelliJ redownload dépendances et le faire fonctionner.

0
Kresimir Nesek