Ich habe ein Projekt in Eclipse auf meinem Laptop, das ich an Git https://github.com/chrisbramm/LastFM-History-Graph.git gesendet habe
Es funktioniert vollständig auf meinem Laptop und läuft / baut ohne Probleme, aber auf meinem Desktop gibt Eclipse den Fehler nicht aus
Fehler: Die Hauptklasse lastfmhistoryguis.InputPanel konnte nicht gefunden oder geladen werden
Ich habe versucht, das Projekt zu erstellen aus:
Project>Build Project
Aber nichts ist passiert. Ich habe die PATH
Variablen auf diesem Computer auf JRE6, JRE7 und JDK 1.7.0 gesetzt , obwohl diese auf meinem Laptop nicht eingestellt sind.
Ich hatte eine Jar-Datei ( last.fm-bindings-0.1.1.jar ) in meiner .classpath
Datei, die sich im Ordner C: \ Users \ Chris \ Downloads auf meinem Laptop befand, daher war sie nicht in dem Git-Baum enthalten, den ich hatte vor kurzem in den Projektordner gebracht und festgeschrieben, aber ich bin nicht sicher, ob ich es richtig gemacht habe. Würde dies auch ein Problem verursachen, aber es gibt dort kein Hauptargument.
Ich kann jetzt nicht herausfinden, was ich überprüfen / ändern muss.
java .\bin\selenium-server-standalone-3.9.1.jar
als es hätte sein sollenjava -jar .\bin\selenium-server-standalone-3.9.1.jar
Antworten:
In Ihrem Klassenpfad verwenden Sie einen absoluten Pfad, aber Sie haben das Projekt auf einen neuen Computer mit möglicherweise einer anderen Dateistruktur verschoben.
Verwenden Sie daher in Ihrem Klassenpfad (und wahrscheinlich im Allgemeinen, wenn Sie JARS mit Ihrem Projekt bündeln möchten) die relative Pfadfolge:
In Ihrem .classpath ändern
zu
quelle
Wenn Sie eine Java-Klasse mit erstellen
public static void main(String[] args)
, führt Eclipse diese Hauptmethode für Sie aus, indem Sie mit der rechten Maustaste auf die Datei selbst oder auf die Datei im Projektexplorer klicken und dann Folgendes auswählen:Sobald Sie dies getan haben, speichert Eclipse Informationen zu Ihrer Klasse, sodass Sie die Klasse problemlos über das Menü Ausführen als (grüne Wiedergabetaste in der Symbolleiste) oder über das Dialogfeld Konfigurationen ausführen erneut ausführen können.
Wenn Sie anschließend die Java-Klasse verschieben (manuell oder jedoch), wählen Sie erneut
Vom neuen Speicherort aus führt Eclipse die ursprünglich gespeicherte Konfiguration aus und versucht, diese Klasse von ihrem ursprünglichen Speicherort aus aufzurufen, was diesen Fehler verursacht.
LÖSUNG:
Für mich bestand die Lösung darin, zu den Ausführungskonfigurationen (grüne Wiedergabetaste -> Ausführungskonfigurationen) zu wechseln und alle Verweise auf die Klasse zu entfernen. Das nächste Mal, wenn du rennst
Eclipse schreibt eine neue Konfiguration für die verschobene Klasse und der Fehler wird behoben.
quelle
public static void main(String[] args)
hat mich dazu gebracht. Ich hatte versehentlich die falsche Unterschrift (Main
anstelle vonmain
). Daher ist es wichtig, dass die Signatur korrekt ist. :)tl; dr : Bereinigen Sie Ihren gesamten Erstellungspfad und alles, was Sie jemals manuell hinzugefügt haben. Dies beinhaltet zusätzliche Quellen, Projekte, Bibliotheken.
Grund dafür: Der Compiler hatte Probleme beim Verknüpfen der Bibliotheken mit dem Projekt. Es ist fehlgeschlagen und hat eine falsche Fehlermeldung ausgegeben.
In meinem Fall sollte es so etwas wie "AutoHotkey.dll konnte nicht zum Erstellungspfad hinzugefügt werden" lauten, da der Compiler dadurch fehlgeschlagen ist.
Wenn dies immer noch nicht funktioniert, sehen Sie sich das integrierte ErrorLog von Eclipse an :
quelle
Ich habe alle oben genannten Dinge getan, aber keine davon hat für mich funktioniert
Mein Problem wurde wie folgt gelöst:
quelle
Ich hatte ein ähnliches Problem in meinem Maven-Webapp-Projekt, nachdem ich fast eine Stunde verbracht hatte. Ich fand eine Lösung, die für mich funktionierte. Ich gab den folgenden Maven-Befehl ein und es funktionierte
mvn clean install -U
Ich kenne den genauen Grund dafür nicht.
quelle
Run As..Maven clean
undRun As..Maven install
erledigen Sie dies für mich. Das Problem begann, als ich ein Eclipse-Java-Projekt in ein Eclipse-Maven-Projekt änderte. +1 für das Zeigen in die rechte Richtung.Ich gehe davon aus, dass Sie das Projekt in Ihre Desktop-Eclipse-Installation importiert haben. In diesem Fall sollten Sie einfach Projekt> Reinigen auswählen. Erstellen Sie dann Ihr Projekt neu. Arbeitete wie ein Zauber für mich.
quelle
Ich hatte das gleiche Problem und löste es mit:
Das Problem war, dass ich mein Maven-Projekt Github zur Verfügung stellte. Es bewegt mein Projekt zu meinem GitHub Ordner.
Lösung:
Der Startbildschirm wird angezeigt.
Danach wurde mein Projekt mit Erfolg zusammengestellt.
quelle
Überprüfen Sie, ob Ihr Projekt über einen Builder verfügt:
Es muss andere Wege geben, aber was ich getan habe war:
Eine richtige minimale Java ".project" -Datei sollte folgendermaßen aussehen:
quelle
.project
Datei zu ändern . Sie können das Projekt einfach schließen..project
Datei nicht bearbeitet . Eclipse wieder eingeschaltet und es hat funktioniert: Fehler war weg.Nun, das Folgende hat bei mir funktioniert ...
workspace
)bin
Ordnerquelle
Ähnliches passierte mir einige Male. Die einzige Möglichkeit, dies zu beheben, bestand darin, den Metadatenordner zu entfernen. Zum Glück habe ich einen anderen Weg gefunden.
Gehen Sie zu Projekteigenschaften > Java-Erstellungspfad> Registerkarte Bestellen und Exportieren> wählen Sie alle aus (oder versuchen Sie, dort mit Kontrollkästchen zu spielen).
Dies sollte dazu führen, dass das Projekt vollständig neu erstellt wird und Eclipse die Hauptklasse sieht.
Ergänzung: Ich habe festgestellt, dass dieser Fehler auftritt, wenn sich viele Projekte in einem Arbeitsbereich befinden und einige davon falsch konfiguriert sind (rotes Ausrufezeichen wird angezeigt). Das Beheben des Projekterstellungspfads und anderer Einstellungen (auch wenn dieses Projekt nicht mit dem Projekt zusammenhängt, mit dem Sie Probleme haben) sollte ein Problem beheben.
quelle
Mein
Main class
nicht gefundenes oder geladenes Problem wurde durch einen interessanten Grund verursacht.In unserem Projekt verwenden wir
Maven
als Build-Tool und meinemain class
extends
a-Klasse, die sich auf dem befindet,class path
aber deren Umfang wartest
, während sich dasmain class
nicht unter dem Testpaket befindet.Wenn Ihre Hauptklasse
extends
eine Klasse ist, versuchen Sie zuerst, Ihre auszuführen,main class
indem Sie einenextends
Teil entfernen . Wenn es ausgeführt wird , wird zumindest verstehen , dass das Problem nicht , da istrun configuration
odereclipse
aber die Klasse, Ihremain class
extends
.quelle
Für mich war der Grund, warum dieser Fehler angezeigt wurde, der, dass der Klassenpfad das Limit unter Windows überschritten hat. Dann entdeckte ich die Option "Verwenden Sie temporäre JAR, um den Klassenpfad anzugeben (um Einschränkungen der Klassenpfadlänge zu vermeiden)". Durch Auswahl dieser Option wurde das Problem für mich behoben. Die Option befindet sich in der Run / Debug-Konfiguration auf der Registerkarte Klassenpfad (siehe Abbildung unten).
quelle
Dieses Problem wird auch verursacht, wenn Ihr Arbeitsbereichspfad Sonderzeichen enthält. Ich hatte meinen Arbeitsbereich in meinem persönlichen Ordner und sein Name war auf Griechisch, also hat es nicht funktioniert. Ich habe meinen Arbeitsbereich geändert, enthält jetzt nur noch englische Zeichen im Pfad und jetzt wird das Projekt ohne Probleme erstellt.
quelle
Wenn Sie Eclipse verwenden, lösen die folgenden Schritte Ihr Problem:
quelle
Ich hatte diesen Fehler. Es war, weil ich
static void main(String[] args)
statt hatte
public static void main(String[] args)
Ich habe fast eine Stunde damit verbracht, das herauszufinden.
Hinweis: Der einzige Unterschied ist, dass ich nicht erklärt habe,
main
zu seinpublic
quelle
Wenn Ihr Code gut ist und Sie wissen, dass Sie ein Eclipse-Problem haben, wird dies das Problem lösen.
Sie können einfach $ yourproject / .classpath, $ yourproject / .project und $ yourworkspace / .metadata löschen. Jemand anderes erwähnte diese Option. Es wird jedoch Ihren gesamten Arbeitsbereich in die Luft jagen. Stattdessen:
quelle
.classpath
und die.project
Datei mit Dateien aus einem anderen Projekt überschrieben , und es hat funktioniert ... ist das ein Zufall oder der Klassenpfad ist wirklich wichtig?Dies könnte zu JDK-Bibliotheken führen, wenn Sie in jre importiert haben
Das passiert mir, also überprüfe die installierten JRE-Gläser
Klicken Sie in Eclipse auf Windows> Einstellungen> Java> Installierte Jres> Klicken Sie auf Jre und bearbeiten Sie diese nach dem Überprüfen der JAR-Liste.
quelle
Ich habe das gleiche Problem, aber in meinem Fall wurde es durch einen fehlenden (leeren) Quellordner verursacht (er existiert im ursprünglichen Projekt, aber nicht im GIT-Repository, weil er leer ist).
Nach dem Erstellen des fehlenden Ordners funktioniert alles.
quelle
Ich habe diesen Fehler auch erhalten, kurz nachdem ich einige Ressourcen verschoben hatte. Beim Überprüfen des Fehlerprotokolls stellte ich fest, dass Eclipse keinen Build erstellen konnte, da eine Datei / ein Ordner nicht entfernt werden konnte. Versuchen Sie, den Ordner "bin" (oder wie auch immer er für Sie heißt) manuell zu entfernen.
Das hat zumindest für mich den Trick getan.
quelle
Ich bin heute auf diesen Fehler gestoßen, weil ich ein Hallo-Welt-Programm eingerichtet und dann ein neues Programm ausgeschnitten und in dieselbe Datei eingefügt habe. Um das Problem zu beheben, dass die Hallo-Welt nicht gefunden wurde, als die letzte aufgerufen wurde, klickte ich auf Ausführen-> Konfigurationen ausführen. Dann klickte ich unter Hauptklasse auf Suchen und fand meinen neuen Klassennamen und ersetzte ihn durch den richtigen neuen Namen im eingefügten Text . Dies ist ein Neuling-Problem, das ich kenne, aber es ist auch leicht zu beheben. Ich hoffe das hilft jemandem! Douglas
quelle
Ich hatte das gleiche Problem mit der richtigen .classpath-Datei und stellte bald fest, dass tatsächlich nicht die .classpath-Datei gezählt wird (nachdem ich dieses Problem behoben habe, ersetze ich die funktionsfähige .classpath-Datei durch die ursprüngliche, das Projekt funktionierte immer noch, was bedeutet, dass die. Klassenpfaddatei war nicht der Fall)
Da es sich um ein Maven-Projekt handelt, habe ich nur Folgendes getan:
ich hoffe es hilft!
quelle
Meistens geschieht dies, weil Eclipse die
.class
Dateien bereinigt , sie aber nicht erneut erstellt. Überprüfen Sie denbin
Ordner, er sollte leer sein. Dann sollten Sie überprüfen, ob noch etwas vorhanden ist, das dazu führt, dass der Build fehlschlägt. Möglicherweise haben Sie im Klassenpfad einige Gläser hinzugefügt, die Eclipse möglicherweise nicht finden kann.quelle
Gehen Sie einfach zu Ihrem Paket-Explorer und drücken Sie F5 oder für einige Laptops Fn + F5. Der Grund ist, dass Eclipse denkt, dass sich die Dateien irgendwo befinden, aber die Dateien sich tatsächlich woanders befinden. Wenn Sie es aktualisieren, platzieren Sie beide auf derselben Seite. Keine Sorge, Sie werden nichts verlieren, aber wenn Sie besonders vorsichtig sein möchten, sichern Sie einfach die Dateien aus Ihrem Java-Projektordner an einem sicheren Ort.
quelle
Dies sind die einfachen Schritte, die mir geholfen haben, dieses Problem zu lösen.
quelle
Führen Sie die folgenden Schritte aus, um diesen Fehler zu beheben:
Schritt 1: Öffnen Sie die Projektdatei .
Schritt 2: Überprüfen Sie zwei Tags ...
Schritt 3: Wenn die oben genannten Tags keinen Inhalt enthalten, tritt mit Sicherheit der oben genannte Fehler auf.
Schritt 4: Fügen Sie jedem Tag den folgenden Inhalt hinzu, um den obigen Fehler zu beheben.
Für
<buildSpec>
:Für
<natures>
:Schritt 5: Speichern Sie Ihre Datei, indem Sie Strg + s drücken.
Schritt 6: Schließen Sie das Projekt aus Sicherheitsgründen nur einmal und öffnen Sie es erneut.
Schritt 7: Das war's. Du bist bereit zu rocken !!!
Bitte erwähnen Sie in den Kommentaren, ob die Lösung hilfreich war.
Danke dir.
quelle
Überprüfen Sie das Arbeitsbereich-Fehlerprotokoll (Windows-> Ansicht anzeigen -> Fehlerprotokoll). Wenn Sie feststellen, dass einer der importierten JARs beschädigt ist, entfernen Sie den entsprechenden Repository-Ordner und importieren Sie ihn erneut.
quelle
Es gibt zwei Arten von Lösungen, die für dasselbe beendet werden.
(1) Gehen Sie zu Ausführungskonfigurationen: - Ausführen-> Ausführen von Konfigurationen Auf der Registerkarte Klassenpfad:
Wählen Sie Erweitert hinzufügen, wobei Eclipse normalerweise die * .class für die Projekte in bin ablegt. Also habe ich das bin-Verzeichnis für das Projekt hinzugefügt.
(2) Wenn die erste Lösung nicht funktioniert, bedeutet dies, dass die JAR, auf die Sie Ihr Projekt hinweisen, den Pfad Ihres lokalen Maven-Repos nimmt, das nicht auf Ihr Projekt aktualisiert wird. Überprüfen Sie daher besser die JAR von diesem lokalen Maven-Repo und Kopieren Sie es, fügen Sie es einfach in ein neues Projekt ein oder laden Sie es einfach von einer beliebigen Site herunter und konfigurieren Sie es in Ihrem Erstellungspfad.
Ich hoffe, es hilft.
quelle
Ich hatte das gleiche Problem. Verbrachte ein paar Stunden und änderte schließlich meinen Arbeitsbereich wieder in den lokalen Ordner und alles funktioniert jetzt. Vielleicht spart etwas Zeit für andere. Jon
quelle
Ich hatte gerade dieses Problem, nachdem ich zum ersten Mal das Problem hatte, dass Windows 8 sich weigerte, meinen Pfad zu aktualisieren, egal auf was ich JAVA_HOME gesetzt habe - java -version meldete das letzte JDK anstelle des in JAVA_HOME gespeicherten. Ich habe das endlich zum Laufen gebracht, indem ich '% JAVA_HOME% / bin;' an der Vorderseite der Pfadumgebungsvariablen statt am Ende. Dann startete ich Eclipse und plötzlich konnte es meine Hauptklasse nicht finden, als es vorher gut funktionierte. Was ich getan habe, um das Problem zu beheben, wurde in die Projekteigenschaften übernommen, die vorhandene JRE-Bibliothek von der Registerkarte "Bibliotheken" entfernt, eine neue JRE hinzugefügt, indem die Schaltfläche "Bibliothek hinzufügen" ausgewählt wurde, und anschließend den Anweisungen zur Installation von JRE 7 als Standard-JRE gefolgt. Jetzt funktioniert alles wieder.
quelle
Ich habe in meinem Fall eine andere Lösung für dieses Problem gefunden:
Eclipse->Preferences->Java->Installed JRE
Drücken Sie dann die Taste Suchen. Wählen Sie einen Ordner unter Linux aus,/usr
und Eclipse hat alle JVM gefunden.Wählen Sie eine andere JVM zu aktuell . Es ist für meinen Fall gelöst.
quelle