web-dev-qa-db-fra.com

Intellij lève soudainement ClassNotFoundException

Je suis complètement perdu ici. J'ai un projet sur un disque dur externe appelé LenseProject. Dans LenseProject, j'ai les dossiers .idea, lib, Natives et SRC. J'ai aussi un certain nombre de fichiers texte à lire.

Quand j'ai quitté le travail la nuit dernière, tout cela a bien fonctionné. En arrivant ce matin, j'ai rencontré:

Exception in thread "main" Java.lang.ClassNotFoundException: QuadTest
    at Java.net.URLClassLoader$1.run(URLClassLoader.Java:366)
    at Java.net.URLClassLoader$1.run(URLClassLoader.Java:355)
    at Java.security.AccessController.doPrivileged(Native Method)
    at Java.net.URLClassLoader.findClass(URLClassLoader.Java:354)
    at Java.lang.ClassLoader.loadClass(ClassLoader.Java:423)
    at Sun.misc.Launcher$AppClassLoader.loadClass(Launcher.Java:308)
    at Java.lang.ClassLoader.loadClass(ClassLoader.Java:356)
    at Java.lang.Class.forName0(Native Method)
    at Java.lang.Class.forName(Class.Java:188)
    at com.intellij.rt.execution.application.AppMain.main(AppMain.Java:113) 

QuadTest étant la classe principale. 

Information que je pense pourrait être utile:

  • Si je commente les importations, je reçois les messages d'erreur appropriés . (Symbole introuvable, etc.).

  • J'ai 9 dépendances, situées dans lib\lwjgl-2.9.0\jar qui sont configuréesin Structure du projet -> Bibliothèques.

  • Le module a LenseProject comme racine de contenu et SRC comme dossier source

  • Le niveau de langue est 7.0

  • J'ai les dépendances définies pour exporter dans Structure du projet -> Modules -> Dépendances.

  • Dans Compiler Output, il est défini sur Utiliser le chemin de sortie du module de compilation. le chemin de sortie dans Configure Project.

  • J'ai l'option VM -Djava.library.path=Natives

  • Je peux compiler et exécuter le programme avec la commande Invite sans problème.

  • Il me manquait mes options de configuration quand je l'ai démarré ce matin. Je devais définir le SDK à nouveau, et les bibliothèques.

26
Cereal

Ouvrez votre fichier d'idées -> Structure du projet -> Modules, puis choisissez le module , problématique dans l'onglet "Chemins", puis sélectionnez "Utiliser le chemin de sortie du module de compilation".

16
刘新宇

J'ai rencontré un problème similaire lors de l'écriture des tests unitaires. Tout fonctionnerait en ligne de commande mais échouerait dans IntelliJ. IntelliJ compilerait avec succès mais ne lancerait pas le test.

Ensuite, j'ai trouvé un article sur le blog d'IntelliJ: http://blog.jetbrains.com/idea/2014/03/intellij-idea-13-1-released/

anet dit:

21 mars 2014 à 12h20

Vous pouvez supprimer la dépendance Junit existante et autoriser IDEA à ajouter la bibliothèque JUnit pour vous à partir de zéro.

New Junit ne contient plus hamcrest, mais dépend toujours de son exécution.

Merci, Anna

J'ai supprimé JUnit de mes paramètres de projet et laissé IntelliJ le rajouter. Ensuite, les choses ont bien fonctionné.

9
TreverW

Dans mon cas, le problème était que j'ai réutilisé le répertoire "out" pour la sortie du programme ..__ Je l'ai résolu en redirigeant la sortie vers un autre dossier.

1
Hao Fu

J'ai eu le même problème. Une nouvelle dépendance n'était pas trouvée lors de l'exécution de Tomcat. Le problème était qu'il n'était pas déployé dans /WEB-INF/lib. Après une demi-journée à me cogner la tête sur le bureau, j'ai trouvé cette vidéo YouTube qui la réparait. 

Essentiellement, je devais ajouter les dépendances à partir des paramètres du module-> artefact-> MyWar-> onglet Format de sortie. Sous Éléments disponibles, ouvrez votre dossier de projets. Si des dépendances maven sont répertoriées, sélectionnez-les. Puis clic droit-> Mettre dans/WEB-INF/lib

1
antonkronaj

Je suggère de confirmer votre Run Configuration comme suit:

Barre d’outils: Run-> Edit Configurations..., confirmez que votre configuration est correcte.

enter image description here

J'espère que ça aide.

0
Daniel

Mon problème était que tout cela en renommant la structure du projet, mes dépendances Maven ne fonctionnaient pas.

Après avoir changé les dépendances maven dans le fichier pom, cela a fonctionné.

0
Sven Holzinger

Fichier -> Structure du projet -> Projet. Changez le niveau de langue du projet de "SDK par défaut" à la version actuelle que vous utilisez.

C'est bizarre, mais résout le problème.

0
Amanpreet Khurana

Je connais son post un peu vieux mais pour moi aidé en allant dans Exécuter -> Modifier les configurations -> Dans Application sélectionné votre fichier de code principal -> Configuration sur le panneau de droite. Cochez la case "Utiliser l'alternative JRE:" et sélectionnez le dossier JDK appelé jre (.../Java/jdk.x.x.x_xx/jre). Appliquer et OK. Je suis vraiment nouveau avec intelliJ mais cela résout mon problème en espérant que cela aidera quelqu'un.

0
KimasGold