Klasse nicht gefunden Ausnahme beim Ausführen des JUnit-Tests
Bin ich immer diesen Fehler beim ausführen der JUnit-test in Eclipse:
Class not found com.myproject.server.MyTest
java.lang.ClassNotFoundException: com.myproject.server.MyTest
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 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)
Ich habe versucht, indem JUnit
Bibliothek in den Klassenpfad obwohl ich mit maven und JUnit-Bibliothek ist in der POM-Abhängigkeit.
Ich habe bereits versucht, die Reinigung, das Projekt und erstellt eine neue JUnit-TestCase mit JUnit-plugin für Eclipse, noch immer die gleichen Fehler.
Kommentar zu dem Problem
versuchen Sie es mit
mvn clean test
wenn es alle kompilieren der test Klassen Können Sie bitte überprüfen, ob die com.myproject.server.MyTest ist es im bin-Ordner? Ich meine, wenn es nicht kompiliert wegen zu kompilieren oder build path-Fehler dieser Fehler.
testen Sie eine Klasse oder das ganze Projekt?
Mögliche Duplikate von Eclipse - java.lang.ClassNotFoundException
In meinem Fall laufen tests mit Maven gearbeitet, aber wenn ich mit der rechten Maustaste auf eine test-Klasse, und wählen Sie Run As - > JUnit Test", berichtet ClassNotFoundException. Ich repariert, indem Sie mit der rechten Maustaste auf das Projekt und gehen Sie auf Eigenschaften -> Erbauer, und dann bewegen Maven Project Builder über den Java-generator
InformationsquelleAutor der Frage xybrek | 2012-07-08
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dies scheint auftreten, weil nur der source-code kompilieren, wenn Sie
mvn clean compile
(ich bin mit maven 3.1.0 also ich bin mir nicht sicher, ob es immer benahm sich wie diesem).Wenn Sie
mvn test
-, test-code kompiliert wird, aber dann läuft es die tests (die möglicherweise nicht sofort erwünscht, wenn Sie versuchen, führen Sie Sie durch Eclipse.) Der Weg, um dieses ist zum hinzufügentest-compile
zu Ihrem Maven-Befehl-Sequenz, wenn Sie einemvn clean
. Zum Beispiel würden Sie ausführenmvn clean compile test-compile
.InformationsquelleAutor der Antwort Newtrino
Ich hatte ein ähnliches problem mit meinen tests und fand irgendwo im Web, Sie haben zu gehen, um Build Path in Ihrem Projekt die Eigenschaften und verschieben Maven-Abhängigkeiten oben JRE System Library. Das scheint geklappt zu haben für mich.
InformationsquelleAutor der Antwort slomek
Ich Stand vor dem gleichen problem, und ich war in der Lage, es zu beheben mit @slomek ist Antwort aber das Problem wieder aufgetaucht, nachdem.
Ich endlich fixiert es, indem Sie mein Projekt die Ausgabe-Ordner, um die JUnit-Tests ausführen-Konfiguration. Die Schritte sind:
Project properties -> Java Build Path -> Default output folder
<project-folder>/bin
Run -> Run Configurations...
Classpath
RegisterkarteUser Entries
- auch wenn das Projekt bereits enthaltenAdvanced -> Add folder
hinzufügen, um die Ausgabe-OrdnerDieses Problem könnte durch seltsame Projekt-setup in der Eclipse - z.B. Quell-Ordner mit verschachtelten maven-Projekte importiert als einzelnes Projekt/Ordner (zumindest das war, wie mein Projekt war setup).
InformationsquelleAutor der Antwort nhylated
Tritt dieses problem in Eclipse nur ausführen Befehl Projekt -> Clean... auf ausgewählte Projekt kann helfen.
InformationsquelleAutor der Antwort user2655624
Nachdem er versucht hat das alles hier mit keiner Verbesserung, ich löste mein Problem nur durch Neustarten von Eclipse
InformationsquelleAutor der Antwort Berit Larsen
In meinem Fall hatte ich eine falsche maven Verzeichnisstruktur.
Werden sollten wie:
/src/test/java/ com.myproject.server.MyTest
Nachdem ich das behoben - alles funktioniert wie ein Charme.
InformationsquelleAutor der Antwort ITisha
In meinem Fall, nur die nächsten Schritte hat mir geholfen, um dieses Problem zu beheben:
InformationsquelleAutor der Antwort Roman Romaniuk
Früher, in diesem Fall, ich habe immer getan, mvn
eclipse:eclipse
neu gestartet und mein Eclipse und es hat funktioniert. Nach dem Umstieg auf GIT es aufgehört zu arbeiten für mich, die ist etwas komisch.Grundlegende problem hier ist Herr Eclipse nicht finden die kompilierte Klasse.
Dann habe ich die Ausgabe-Ordner als Projekt - /target/test-classes, die per default generiert
mvn clean install
ohne überspringen Sie den test und ging mit folgenden workaround:Option 1: Set classpath für jeden Testfall
Eclipse ->Ausführen ->Konfiguration ->unter JUnit->wählen Sie mytest -> unter classpath-tab->Wählen Sie Benutzer-Einträge->Erweitert->Ordner Hinzufügen -> Auswählen ->Bewerben->Ausführen
Option 2: Erstellen Sie die classpath-variable, und im Klassenpfad, der für alle Testfälle
Eclipse ->Windows ->Classpath-Variablen ->New-> [- Name : Junit_test_cases_cp | Pfad : ]->ok
Dann gehen Sie zu
Eclipse->Ausführen ->Konfiguration ->JUnit->wählen Sie mytest ->unter classpath-tab ->Wählen Sie Benutzer-Einträge->Erweitert->Hinzufügen classpath-Variablen->Wählen Sie Junit_test_cases_cp->ok->Bewerben->Ausführen
Dies ist das einzige, was derzeit für mich arbeiten, nach dem Versuch alle Vorschläge online.
InformationsquelleAutor der Antwort user3222211
Ich hatte das gleiche problem mit einem Gradle-Projekt mit einer test-SourceSet mit zwei Ressource-Verzeichnisse.
Dieser snippet kommt aus einem Haupt-Modul.gradle und fügt eine Ressource, die dir der test SourceSet:
Dies zu tun, ich habe zwei Ressource-Verzeichnisse im Zusammenhang mit der test SourceSet des Projekts main-Modul:
../sonstige-Modul/src/test/resources
src/test/resources (bezogen auf das main-Modul-Ordner automatisch Hinzugefügt, indem das java-plugin)
Finde ich heraus, wenn ich hatte zwei Dateien mit dem gleichen Namen in den Quell-Verzeichnissen, etwas in der Prozess-Ressourcen Bühne ging schief. Als Ergebnis, keine Kompilierung gestartet und aus diesem Grund nicht .Klasse kopiert wurden, in das bin-Verzeichnis, wo die JUnit-war auf der Suche für die Klassen. Die ClassNotFoundException verschwunden nur die Umbenennung einer der beiden Dateien.
InformationsquelleAutor der Antwort David Obber
Ich hatte das ähnliche problem mit meinem Eclipse-Helios-debugging Junits. Mein problem war etwas anders als ich war in der Lage zu laufen Junits erfolgreich, aber wenn ich war immer ClassNotFoundException beim Debuggen die gleichen JUNITs.
Ich habe versucht, alle Arten von verschiedenen Lösungen verfügbar Stackoverflow.com und Foren an anderer Stelle, aber nichts scheint zu funktionieren. Nach schlug meinen Kopf mit dieser Frage seit fast zwei Tagen, endlich habe ich herausgefunden, das die Lösung.
Wenn keine der Lösungen scheint zu funktionieren, löschen Sie einfach die .Metadaten erstellten Ordner in Ihrem Arbeitsbereich. So schaffen Sie einen zusätzlichen overhead, der Import der Projekte und alle möglichen Konfiguration, die Sie getan haben, diese werden aber sicherlich lösen diese Problem.
Hoffe diese hilft.
InformationsquelleAutor der Antwort Nayan
Diese Schritte für mich gearbeitet.
InformationsquelleAutor der Antwort Jake Graham Arnold
1 - mvn eclipse:eclipse
2 - Projekt reinigen Sie alle Projekte
3 - starten Sie
InformationsquelleAutor der Antwort Toumi
Erwähnenswert ist es, wie eine andere Antwort, wenn Sie mit eGit und der classpath aktualisiert wird, weil, sagen wir, eine test-coverage-tool wie Klee, dass manchmal gibt es ein cleanup-Schluckauf, der nicht vollständig löschen Sie den Inhalt des
/path/to/git/repository/<project name>/bin/
Im wesentlichen, ich benutzte Eclipse Error Log View, identifiziert, was war, verursacht Probleme während dieser Aufräumarbeiten, navigiert das source-Verzeichnis und manuell gelöscht, die
<project name>/bin
- Verzeichnis. Sobald das fertig ging ich zurück zu Eclipse und aktualisiert (F5
) mein Projekt und der Fehler ging Weg.InformationsquelleAutor der Antwort Blake Neal
Prüfen Sie, ob Ihr Projekt wird geöffnet, als ein Maven Projekt und nicht einfach ein normales Java-Projekt. Eigentlich ein no-brainer, aber das ist genau der gleiche Grund, warum Sie es vielleicht vermissen.
InformationsquelleAutor der Antwort Ben
Kann es auch aufgrund von "[ERROR] Kein compiler zur Verfügung gestellt, die in dieser Umgebung. Vielleicht sind Sie auf einem JRE anstatt JDK?"
InformationsquelleAutor der Antwort William
Möglicherweise werden Sie vergessen, an Stelle der Main-Klasse und Test-Case-Klasse in
/src/test/java. Überprüfen Sie es Einmal.
InformationsquelleAutor der Antwort Sathya