J'ai un projet JDK 1.7 avec une dépendance maven à un jar local dans mon dépôt maven.
Je ne parviens pas à créer le projet à l'aide d'Intellij, avec les erreurs qu'un symbole ne peut pas être trouvé (le symbole est une classe qui importe des packages à partir du fichier jar local)
Mais je peux réussir à construire le projet en utilisant 'mvn package'.
J'ai passé tellement de temps à chercher des solutions, des choses que j'ai déjà faites:
- Cache invalidé
- 'mvn clean install' la dépendance du jar local
- Marqué comme `` autoload snapshots '' dans la configuration maven d'Intellij
- Maven réimprimé dans Intellij
- Syncornisé
Cette erreur est survenue à mes deux ou trois reprises auparavant, mais en général, la simple fermeture d'Intellij et / ou l'exécution de «mvn clean install» ont fait l'affaire.
Veuillez aider.
java
scala
maven
intellij-idea
Yarin Miran
la source
la source
Réponses:
Je sais que c'est tard mais l'exécution
mvn idea:idea
résout le problème.la source
mvn idea:idea
n'a pas été tenu à jour et n'est pas maintenu par jetbrainsEssayez de supprimer tous les fichiers .iml et votre POM. Ensuite, copiez et collez à nouveau votre POM dans votre projet, puis rouvrez-le et réimportez-le.
la source
*.iml
,*.ipr
et les*.iws
fichiers du répertoire racine du projet, puis la réouverture Intellij il fixe pour moiJ'ai découvert que mon fichier .iml et mon pom étaient en conflit et causaient le problème.
la source
C:\Users\USERNAME\.IntelliJIdea2017.2\system
. Ensuite, j'ai fait ungit clean -xdf
dans le répertoire source pour supprimer tous les fichiers non versionnés et importé à nouveau le projet. ça fonctionne parfaitement maintenant.Ajouter quelques astuces supplémentaires car c'est la première chose qui est apparue dans la recherche lorsque j'avais des problèmes similaires (le projet se construit dans mvn, pas dans IntelliJ), au cas où cela pourrait aider quelqu'un d'autre.
Quand j'ai eu cela, c'était une solution différente sur Windows et Mac.
Sur Mac, je suis allé dans ItellijIDEA / Preferences / Build, Execution, Deployment / Build Tools / Maven / Maven Home Directory et l'ai configuré pour utiliser mon Maven installé séparément plutôt que le Maven fourni. Tous les problèmes de construction ont disparu.
Sous Windows, je voyais des exceptions dans le fichier idea.log liées à SSL et mon arborescence de projet n'avait que Java sous la branche Bibliothèques externes. En regardant d'autres sites, il semble qu'IntelliJ utilise son propre JDK privé au lieu de celui du système (même si dans mon cas, j'avais déjà exactement la même version de JDK installée). Mon système JDK a des certificats installés dans le keystore pour le serveur Nexus d'entreprise que le JDK privé IntelliJ n'avait pas, donc des exceptions ont été levées lorsqu'il a essayé d'obtenir des fichiers de Nexus. Pour cela, la solution était de quitter IntelliJ, de définir une variable d'environnement appelée IDEA_JDK pour qu'elle pointe vers le JDK que j'avais déjà installé et qui avait les certificats appropriés et de redémarrer IntelliJ. Tous les problèmes de construction ont disparu.
la source
Maven a
ReImport
travaillé pour moi comme ci-dessous ...la source
IDE utilise sa propre copie intégrée de Maven lors des builds. Si maven sur le terminal est différent de l'IDE, vous voulez qu'ils soient identiques.
GOTO (sur un Mac) - IntelliJ Idea -> Préférences -> Build, Execution, Deployment -> Build Tools -> Maven. Définissez le chemin de votre répertoire de base Maven Pour trouver le chemin de Maven que vous utilisez à partir du terminal, tapez commande
mvn -version
et qui devrait afficher un tas de détails, y compris le chemin du répertoire. Mettez cela dans le répertoire personnel de Maven .Pour être sûr, vous pouvez également faire la même chose pour l'emplacement JDK
==== Quelques autres choses qui peuvent causer de tels problèmes ===
Si vous effectuez des builds mvn package ou mvn clean install, alors il doit faire quelque chose avec les caches IDE. Entre autres choses, celui-ci aide généralement avec de telles erreurs ->
Fichier -> Invalider les caches
la source
Je sais que je suis assez tard pour cette conversation, mais je voulais juste publier ceci au cas où quelqu'un d'autre rencontrerait ce problème. Une autre raison pour laquelle cela se produit est que vous ne faites pas référence au bon référentiel. Intellij récupère par défaut la version fournie d'un fichier jar au lieu de celle de votre propre référentiel maven. Confirmez que le référentiel connecté est le bon.
la source
Dans mon cas, mon iml n'était pas synchronisé, j'ai donc supprimé l'iml pour le module spécifique, puis sous l'option maven, sélectionnez le projet unignore pour recréer iml
la source
depuis l'invite de commande, exécutez la commande:
mvn idea:idea
et faites un clic droit sur le projet -> dans le menu, réimportez les dépendancesla source
"symbole introuvable" signifie qu'intellij n'est pas en mesure de résoudre la "dépendance". Ainsi, vous pouvez forcer «Analyse des dépendances» en cliquant sur «Analyser» -> «Analyser les dépendances» puis sélectionner «Étendue de l'analyse»
la source
De nombreux conseils précieux dans les autres réponses ici, je veux juste ajouter la solution qui a fonctionné pour mon problème .
Nous avons récemment commencé à utiliser un référentiel Maven privé et nous le faisons toujours
mvn -s settings.xml
lors de l'appel de la cmdline Maven. IntelliJ ne connaît bien sûr pas le repo privé, il a donc besoin d'un peu d'aide.Allez dans Paramètres -> Build, Execution, Deployment -> Build tools -> Maven et remplacez l'option "User Settings file".
la source
J'ai eu le même problème. Aller à:
Fichier -> Structure du projet -> Module . Sélectionnez votre module et sous " Dépendances onglet ", assurez-vous que toutes les dépendances maven sont ajoutées.
Pour vous assurer que vous êtes averti d'un problème similaire dans l'éditeur d'idées: passez de «l'onglet Dépendances» à «Sources» et ajoutez marquer votre src comme source.
la source
J'ai eu le même problème. J'ai changé la version maven de 3.0.5 à 3.0.4 dans les paramètres Idea et tout fonctionne bien maintenant. Je ne sais pas pourquoi cela m'aide.
la source
J'ai essayé d'invalider le cache, de changer le Maven en version installée et rien n'a fonctionné.
La fermeture et la recréation d'un nouveau projet l'ont résolu.
la source
J'ai fermé le projet et l'ai réimporté en cliquant sur le pom racine (pas seulement le dossier, mais le fichier pom lui-même).
la source
J'ai tout essayé sans joie. Cependant, j'ai fait une chose qui l'a finalement fait fonctionner:
Je suis allé à C: \ Users \ .IntellijJIdea2018.2 et je viens de supprimer le dossier entier.
Il supprime tous les paramètres et le cache d'IntelliJ. J'ai dû réimporter mon projet à partir de zéro, mais un simple retrait et réimportation n'avait pas fonctionné auparavant, mais cela l'a finalement fait fonctionner à nouveau.
la source
Si vous utilisez gradle, essayez la commande ci-dessous.Cela a résolu mon problème
gradle cleanIdea idea
la source
Cette procédure simple prend environ 1 minute sans aucun risc.
la source
Supprimez le dossier .idea et fermez l'EDI
ouvrez à nouveau l'IDE et importez le projet qui fera une nouvelle importation car le dossier .IDEA a été supprimé par nous plus tôt
Vérifiez le module des bibliothèques externes et s'il n'est pas rempli avec les dépendances requises, vérifiez si l'emplacement maven settings.xml est correctement indiqué dans l'EDI
la source
Il existe également une possibilité qui n'a pas été mentionnée. Si vous importez une bibliothèque depuis
com.sun.*
. Cela causera également ce problème.Les programmes fonctionnent lorsqu'ils sont exécutés dans ide, car ces classes
com.sun.*
sont toutes dans lejre/lib
répertoire, il sera chargé lors de l'exécution. Mais lorsque vous exécutezmvn package
, ces bibliothèques ne seront pas accessibles en raison de la restriction d'oracle depuis java 1.6 (ces bibliothèques étaient obsolètes en quelque sorte). Pour résoudre ce problème, vous pouvez ajouter<build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>2.3.2</version> <configuration> <source>1.8</source> <target>1.8</target> <encoding>UTF-8</encoding> <compilerArguments> <verbose /> <bootclasspath>C:/Program Files/Java/jdk1.8.0_161/jre/lib/rt.jar</bootclasspath> </compilerArguments> </configuration> </plugin> </plugins> </build>
n'oubliez pas de remplacer le chemin cootclasspath par votre propre chemin
rt.jar
Vous pouvez rechercher
Access restriction: The type XXX is not accessible due to restriction on required library
plus de détails.la source
S'il y a des modules erronés configurés, procédez comme suit:
la source
la source
Dans mon cas, le problème était dans une version différente du SDK Project Java. Lorsque je construisais un projet à partir d'un terminal, maven utilisait Java 8, et lorsque je construisais à partir d'IDEA, il utilisait Java 11.
Allez dans Fichier> Structure du projet ... et dans Paramètres du projet, définissez le SDK du projet sur la version dont vous avez besoin.
la source
Pour moi, le problème était que j'avais sélectionné le compilateur Ajc dans les paramètres du compilateur IntelliJ Java . Une fois que je l'ai changé pour Javac, tout a bien fonctionné.
la source
Pour moi sur Mac, je l'ai résolu en supprimant l'application Intellij Idea de mon ordinateur et en supprimant les fichiers de cache dans ~ / Library / Application Support / JetBrains / IntelliJIdea2020.1 ~ / Library / Caches / JetBrains / IntelliJIdea2020.1
Ensuite, réinstallez-le, ouvrez mon projet et construisez-le avec succès!
la source
J'ai rencontré le même problème. Je peux exécuter avec succès la
mvn clean package
commande dans le terminal mais ne parviens pas à exécuter ou à construire à partir d'IntellJ. J'ai fait les actions suivantes mais elles ont toutes échoué.mvn clean package
oumvn clean package
dans le terminalmvn clean package
mvn idea:idea
La dernière chose que j'ai faite a fonctionné: supprimez les .idea et .iml dans le projet, supprimez tous les fichiers de dépendance, puis supprimez IntellJ de l'ordinateur. Après avoir réinstallé IntellJ, mon projet a été construit avec succès. Je souhaite que je pourrais avoir une meilleure façon de résoudre ce problème.
la source