JUNIT-Testklasse in Eclipse – java.lang.ClassNotFoundException

Lesezeit: 6 Minuten

Benutzer-Avatar
Mouna Cheikhna

Ich versuche, meinen Junit-Test auszuführen (um zu überprüfen, ob eine Eigenschaftendatei korrekt geladen wird), aber ich bekomme ClassNotFoundException obwohl die Klasse da ist und alle erforderlichen Bibliotheken auch da sind.

Hier ist der Fehler, den ich bekomme:

Class not found ConfigurationManagerTest                                                 java.lang.ClassNotFoundException: ConfigurationManagerTest
    at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:268)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.loadClass(RemoteTestRunner.java:693)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.loadClasses(RemoteTestRunner.java:429)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:452)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)

irgendwelche Ideen, wie man das beheben kann?

Vielen Dank.

  • Versuchen Sie, Ihr Projekt zu bereinigen und zu erstellen.

    – Harry Freude

    19. April 2011 um 12:27 Uhr

  • habe es mehrmals versucht, ich bekomme immer den gleichen Fehler

    – Mouna Cheikhna

    19. April 2011 um 12:39 Uhr

  • Öffnen Sie das Run Configuration-Fenster in Eclipse, wählen Sie den Unit-Test aus, den Sie ausgeführt haben, und gehen Sie zur Registerkarte Classpath: Hier können Sie überprüfen, was tatsächlich im Classpath enthalten ist.

    – Stijn Geukens

    19. April 2011 um 12:43 Uhr

  • danke, ich habe oben im classpath-Tab einen Fehler gesehen: [JRE]: JRE nicht kompatibel mit Workspace .class-Dateikompatibilität: 1.6 , vielleicht ist dies die Ursache ?

    – Mouna Cheikhna

    19. April 2011 um 12:53 Uhr

  • Ich hatte das gleiche Problem mit einer eigenständigen Java-Klasse und einem JUnit-Test unter Verwendung von Eclipse 4.2. Ich habe alle Pfade usw. überprüft. Ich habe versucht, “Ihr Projekt zu bereinigen und zu erstellen”. Es funktionierte! Danke HarryJoy.

    – RuntimeException

    18. September 2012 um 11:29 Uhr


ConfigurationManagerTest wird in Ihrem Klassenpfad nicht gefunden. Stellen Sie sicher, dass die ConfigurationManagerTest.class Datei ist auf Ihrem Klassenpfad verfügbar.

Es ist möglicherweise nicht vorhanden, wenn es nicht erfolgreich kompiliert wurde oder wenn es in einem Verzeichnis erstellt wird, von dem Sie dem Eclipse-Projekt nicht mitgeteilt haben, dass es sich im Klassenpfad befinden soll.

Angenommen, Sie haben Ihre Testklassen in einem separaten Ordner abgelegt, stellen Sie sicher, dass sie in der Ansicht „Paket-Explorer“ (und nicht in der Ansicht „Navigator“) angezeigt werden.

Unter den Projekteigenschaften, „Java Build Path“ und dem Reiter „Source“ können Sie außerdem sehen, ob der Quellordner zum Bauen eingebunden ist und wo die .class-Dateien generiert werden.

  • Weitere Informationen zu fehlenden Klassendateien hinzufügen: Überprüfen Sie, ob Sie Klassendateien im Verzeichnis \build\classes\ sehen. Wenn Sie keine sehen, überprüfen Sie den Problembereich von Eclipse auf Fehler beim Erstellen Ihres Testprojekts. Reparieren Sie diese und es wird gebaut. Wenn alles andere fehlschlägt, müssen Sie möglicherweise auf Project->clean zurückgreifen und dann neu erstellen. Und wenn Sie wirklich verzweifelt sind, starten Sie Eclipse neu (eine Totale).

    – Gili Nachum

    15. Dezember 2011 um 15:31 Uhr


  • Ich habe im Setup meines Eclipse-Projekts festgestellt, dass nicht alle Build-Klassen in das Standard-Build-Verzeichnis des Projekts gingen, sodass meine Tests nicht einmal auf die Build-Artefakte zugreifen konnten.

    – Bakoyaro

    8. November 2013 um 17:22 Uhr

  • Ja, mein Maven-Projekt hat .class-Dateien in /bin erstellt. musste dieses Verzeichnis unter Benutzereinträgen in der Registerkarte runconfig / classpath über die Option advanced/add folder hinzufügen.

    – derRiley

    1. Februar 2017 um 17:22 Uhr

  • Das funktionierte für mich wie ein Zauber!! Ich habe viele (zukünftige) Projekte in meinem Arbeitsbereich, die Probleme beim Kompilieren haben. Durch das Hinzufügen der Testklasse zum Klassenpfad wurde der von mir benötigte Test ausgeführt.

    – Nash N

    28. März 2020 um 13:57 Uhr


Benutzer-Avatar
Gangnus

Es gibt noch eine weitere Möglichkeit. Ich hatte gerade das gleiche Problem und keine der Lösungen hier hat geholfen. Außer dem Entfernen und Neuerstellen des Projekts – ich wollte es nicht versuchen. Was geholfen hat, war zu sauber das Projekt zweimal sofort nacheinander! Clean + Build könnte beliebig oft wiederholt werden – es hilft nichts. Nur clean+clean und danach geht der Build OK. (Finsternis 3.6). Natürlich sollten Sie dafür Autobuild deaktivieren.

Edit: Dieser Beitrag hat am 15.11.2017 sein letztes Plus bekommen. Das Problem (und die Lösung) bleibt also aktuell.

  • Danke, das hat geholfen, aber ich musste den automatischen Build deaktivieren. Außerdem musste ich andere fehlende Bibliotheken lösen, die nichts mit jUnit zu tun haben.

    – Hohenheimsenberg

    22. Dezember 2013 um 22:21 Uhr

  • Hat überhaupt nicht geholfen (Eclipse 4.5)

    – Christian Vielma

    2. Februar 2016 um 10:09 Uhr

  • @ChristianVielma Ich hoffe es. Während der Entwicklung von 9 Versionen sollten sie den Fehler entfernen!

    – Gangnus

    4. Februar 2016 um 18:41 Uhr

  • zweimal! das ist Eclipse.

    – alexpfx

    13. April 2016 um 11:47 Uhr

  • @Alessandro die Magie ist, dass sie den gleichen Fehler bereits seit 4 Jahren haben. Ich messe die Lebensdauer des Fehlers, indem ich Upvotes zähle 🙂

    – Gangnus

    5. Oktober 2017 um 11:09 Uhr


Ein weiteres mögliches Problem ist ein fehlender Builder (der verhindert, dass Ihre .class-Datei erstellt wird).

Überprüfen Sie, ob Ihre .project-Datei die folgenden Zeilen enthält

<buildSpec>
  <buildCommand>
    <name>org.eclipse.jdt.core.javabuilder</name>
    <arguments>
    </arguments>
  </buildCommand>
</buildSpec>
<natures>
  <nature>org.eclipse.jdt.core.javanature</nature>
</natures>

  • Das war mein Problem – ich habe vergessen, dass mein Projekt AspectJ-fähig war und auch der AJDT-Builder, den ich nicht installiert hatte. Es ist ärgerlich, dass Eclipse sich in diesen Fällen stillschweigend weigert, das Projekt zu bauen.

    – Nik

    18. Januar 2013 um 16:08 Uhr

  • Das hat mein Problem behoben. Danke Alter .. 🙂

    – Prasobh. Kollattu

    27. März 2014 um 7:15 Uhr


Benutzer-Avatar
Robert

Das ist mir passiert, als ich Testklassen per Drag & Drop in verschiedene Pakete gezogen habe. Ich habe gerade folgendes gemacht

  1. Klasse in einem Texteditor gespeichert.
  2. Die betreffende Klasse wurde aus dem Eclipse-Projekt-Explorer gelöscht.
  3. Klasse neu erstellt.

Bingo! Ich kann jetzt den Test durchführen!

Ich hatte dieses Problem und es war irgendwie schwierig zu erkennen, was falsch war. Das Projekt hatte ein Abhängigkeitsprojekt mit einem Fehler, der die Ausführung des Builds verhinderte. Wenn ich dieses Abhängigkeitsproblem entferne, wurde das Projekt wie erwartet erstellt.

Ps.: Ich arbeite an einem Projekt, das viele Kompilierungsfehler hat, weil wir eine Anwendung portieren, die von Delphi nach Java konvertiert wurde, daher habe ich mich am Anfang nicht um den Kompilierungsfehler gekümmert, deshalb hat es einige Zeit gedauert um das Problem herauszufinden.

Benutzer-Avatar
vamsi-vegi

Überprüfen Sie Eigenschaften -> Java-Erstellungspfad -> Bibliotheken. Es sollten keine Fehler auftreten, in meinem Fall gab es Fehler im Maven. Nachdem ich das erforderliche Glas in das Maven-Repo gestellt hatte, funktionierte es einwandfrei

Ich habe alle hier beschriebenen Antworten ausprobiert, aber keine hat funktioniert, aber ich habe diesen Thread gefunden, in dem slomek das Problem auf sehr einfache Weise löst. Gehen Sie einfach zu Projekt -> Eigenschaften -> Java-Erstellungspfad. Bewegen Sie dann Junit nach oben, indem Sie oben rechts unten drücken. Dann kompiliert alles einwandfrei.

1038560cookie-checkJUNIT-Testklasse in Eclipse – java.lang.ClassNotFoundException

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy