it-swarm.com.de

Intellij löst plötzlich ClassNotFoundException aus

Ich bin hier völlig ratlos. Ich habe ein Projekt auf einer externen Festplatte namens LenseProject. In LenseProject habe ich die Ordner .idea, lib, Natives und SRC. Ich habe auch eine Reihe von Textdateien zum Lesen.

Als ich gestern Abend die Arbeit verließ, funktionierte alles gut. An diesem Morgen werde ich getroffen mit:

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 ist die Hauptklasse. 

Informationen, die ich für hilfreich halte:

  • Wenn ich die Importe auskommentiere, erhalte ich die entsprechenden Fehlermeldungen. (Symbol kann nicht gefunden werden, usw.).

  • Ich habe 9 Abhängigkeiten, die sich in lib\lwjgl-2.9.0\jar befinden in Projektstruktur -> Bibliotheken.

  • Das Modul enthält LenseProject als Inhaltsstammverzeichnis und SRC als Quellordner

  • Das Sprachniveau ist 7.0

  • Ich habe die Abhängigkeiten für den Export in Projektstruktur -> Module -> Abhängigkeiten festgelegt.

  • In der Compiler-Ausgabe habe ich festgelegt, dass Compiler-Ausgabepfad verwenden verwendet wird...., Als Ausgabepfad für Projekt-Kompiliervorgang übernehmen den Ausgabepfad in Projekt konfigurieren.

  • Ich habe die Option VM -Djava.library.path=Natives

  • Ich kann das Programm mit dem Befehl Eingabeaufforderung kein Problem kompilieren und ausführen.

  • Ich habe meine Konfigurationsoptionen verpasst, als ich sie heute morgen gestartet habe. Ich musste das SDK und Bibliotheken neu einstellen.

26
Cereal

Öffnen Sie Ihre Ideendatei -> Projektstruktur -> Module , und wählen Sie dann problematische Module aus. , Wählen Sie auf der Registerkarte "Pfade" die Option "Ausgabepfad für Modul kompilieren".

16
刘新宇

Beim Schreiben von Komponententests kam es zu einem ähnlichen Problem. Alles würde auf der Kommandozeile funktionieren, aber in IntelliJ fehlgeschlagen. IntelliJ würde den Test erfolgreich kompilieren, aber nicht ausführen.

Dann stieß ich auf einen Beitrag in IntelliJs Blog: http://blog.jetbrains.com/idea/2014/03/intellij-idea-13-1-released/

anet sagt:

21. März 2014 um 12:20 Uhr

Sie können die vorhandene Junit-Abhängigkeit entfernen und IDEA das Hinzufügen einer JUnit-Bibliothek für Ihr Unternehmen erlauben.

New junit bündelt hamcrest nicht mehr, hängt aber immer noch von der Laufzeit ab.

Vielen Dank, Anna

Ich habe JUnit aus meinen Projekteinstellungen entfernt und IntelliJ hat es wieder hinzugefügt. Dann haben die Dinge gut funktioniert.

9
TreverW

In meinem Fall bestand das Problem darin, dass das "out" -Verzeichnis für die Programmausgabe verwendet wurde. Ich löste es, indem ich die Ausgabe in einen anderen Ordner umleitete.

1
Hao Fu

Ich hatte ein ähnliches Problem. Beim Ausführen von Tomcat wurde keine neue Abhängigkeit gefunden. Das Problem war, dass es nicht für /WEB-INF/lib bereitgestellt wurde. Nachdem ich einen halben Tag meinen Kopf auf den Schreibtisch geklopft hatte, fand ich dieses YouTube-Video , das ihn reparierte. 

Im Wesentlichen musste ich die Abhängigkeiten aus den Moduleinstellungen-> Artefakt-> MyWar-> Ausgabe-Layout hinzufügen. Öffnen Sie unter Verfügbare Elemente Ihren Projektordner. Wenn dort Maven-Abhängigkeiten aufgeführt sind, wählen Sie diese aus. Dann Rechtsklick-> In/WEB-INF/lib ablegen

1
antonkronaj

Ich empfehle Ihnen, Ihren Run Configuration wie folgt zu bestätigen:

Symbolleiste: Run-> Edit Configurations..., vergewissern Sie sich, dass Ihre Konfiguration korrekt ist.

enter image description here

Ich hoffe es hilft.

0
Daniel

Mein Problem war, dass das Umbenennen der Projektstruktur, meine Maven-Abhängigkeiten, nicht machten.

Nachdem die Maven-Abhängigkeiten in der POM-Datei geändert wurden, funktionierte es.

0
Sven Holzinger

Datei -> Projektstruktur -> Projekt. Ändern Sie die Projektsprachenebene von "SDK-Standard" in "Aktuelle Version", die Sie verwenden.

Das ist komisch, löst aber das Problem.

0

Überprüfen Sie Ihren mainClassName

mainClassName = "com.xxx.xxxApplicationKt"

0
Et9

Ich weiß, es ist ein bisschen alt, aber für mich hat es geholfen, indem Sie im rechten Bereich auf Ausführen -> Konfigurationen bearbeiten -> In Anwendung Ausgewählte Ihre Hauptcodedatei -> Konfiguration klicken. Markierte "Use alternative JRE:" und wähle den JDK-Ordner mit dem Namen jre (.../Java/jdk.x.x.x.x_xx/jre). Übernehmen und OK. Ich bin mit intelliJ wirklich neu, aber das hat mein Problem gelöst. Ich hoffe, es hilft jemandem.

0
KimasGold