Fehler: Konnte nicht gefunden oder geladen werden main-Klasse in der intelliJ IDE
Ich bin ein Anfänger in Java und versuche zu laufen, meinen code mit IntelliJ, dass ich gerade erst installiert, als meine IDE mit JDK 1.7. Die folgende Stück code, das hält nicht einmal kompilieren und gibt mir immer die Fehlermeldung:
Error: Could not find or load main class libTest
Code
import java.lang.Integer;
import java.lang.String;
import java.lang.System;
import java.util.*;
class book {
private String name = "trial";
private int bookCode=1;
private int issued=0;
public void Issue(){
if(issued==0) {
issued=1;
System.out.println("You have succesfully issued the book");
}
else {
System.out.println("The book is already issued. Please contact the librarian for further details");
}
}
public int checkCode() {
return bookCode;
}
String readName() {
return name;
}
public void setName(String newName){
name=newName;
}
public void setBookCode(int newCode){
bookCode=newCode;
}
}
class library {
private ArrayList books=new ArrayList();
public void getList(){
for(int bk:books){
String bName=books(bk).readName();
System.out.println((bk+1)+") "+bName);
}
}
}
public class libTest{
public static void main(String[] args){
library newLib= new library();
System.out.println("code working");
}
}
Gibt es eine änderung, die ich machen muss in den compiler-Einstellungen?? Oder ist es der code.
Was ist der name der Quell-Datei? Ist es
ja.Es ist libTest.java
Wie bereits erwähnt, durch QuantumMechanic, deiner main-Klasse muss in einer Datei mit dem Namen genau wie Sie. So, libTest muss in einer java-Datei mit dem Namen libTest.java, da sonst der java-compiler wird sich beschweren. Außerdem hast du die Quelle, durch die IDEE, oder hast du eine neue IDEE-Projekt über vorhandene Quelle?
versucht importieren von java.lang machte keinen Unterschied
libTest.java
?import java.lang...
Dies geschieht automatisch, für den Unterricht in der lang
Paket.ja.Es ist libTest.java
Wie bereits erwähnt, durch QuantumMechanic, deiner main-Klasse muss in einer Datei mit dem Namen genau wie Sie. So, libTest muss in einer java-Datei mit dem Namen libTest.java, da sonst der java-compiler wird sich beschweren. Außerdem hast du die Quelle, durch die IDEE, oder hast du eine neue IDEE-Projekt über vorhandene Quelle?
versucht importieren von java.lang machte keinen Unterschied
InformationsquelleAutor Confused Mailman | 2012-05-18
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dies könnte helfen:
1) "Bauen" - Menü -> "
Rebuild Project
".Manchmal Intellij nicht umschreiben der Klassen, weil Sie bereits existieren, so müssen Sie Fragen, Intellij umschreiben alles.
2) "Ausführen" - Menü -> "
Edit configuration
" -> löschen der Profil -> wieder hinzufügen der profile ("Anwendung"), wenn es eine Java-Anwendung), wählen Sie Ihre main-Klasse von der "Haupt-Klasse" - dropdown-Menü.3)"Bauen" - Menü -> "
Rebuild Project
".Rebuild Project
für mich gearbeitet!2. option für mich gearbeitet. Aber die Konfiguration löschen Profil und dann rechts klicken Sie auf Ihre Klasse --> ausführen
"Rebuild" für mich gearbeitet
Nach einem Tag Anstrengung, endlich diese Antwort hat mir geholfen. Dank
"Build" menu -> "Rebuild Project
- hat den job! DankInformationsquelleAutor Ehsan
Für mich war die Lösung beheben Sie das Ausgabe-Verzeichnis unter Projekt-Einstellungen. Bevor ich nur "target" für die Projekt-compiler-Ausgabe. Stattdessen habe ich aktualisiert, um einen vollständigen Pfad, z.B. D:\dev\sigplusjava2_68\target
Es ist möglich, dass meine Lösung hier ist tatsächlich eine subtile variation von @Ehsan Antwort unten. Vielleicht durch die Angabe des Ziel-Verzeichnisses, gibt es einen neuen Standort, wobei zum kompilieren aller Objekte im wesentlichen der Durchführung der gleichen Arbeit, die einen
Rebuild Project
tut.Wenn es die gleiche Arbeit Taten, Umbau + Auslesen der Konfiguration. hätte das Problem von Anfang an. Es hat nicht, aber Ihre Lösung hat.
InformationsquelleAutor Uncle Iroh
Wenn keine der oben genannten Antworten trifft nicht für Sie arbeiten, schließen Sie einfach Ihre intelliJ IDE und entfernen intelliJ IDE Datei-und Ordner aus den Stammordner des Projekts:
Dann Projekt öffnen mit intelliJ. Es muss nun funktionieren.
Dieser arbeitete für mich, danke.
Sie da real MVP. Danke!!!
Dies ist die einzige Lösung, die funktionierte. Danke!!!
InformationsquelleAutor youhans
Hatte ich dieses problem und ich habe versucht alles unter der Sonne, dass ich denken konnte und auf dieser Website.
Keiner meiner Java-Klassen wurden abgeholt, nachdem ich zog von einem remote-branch. Alle Klassen hatten sich rot Js, indem Sie Ihre Namen in der Projekt-Hierarchie, nicht blau Cs.
Am Ende, ich habe versucht, um diesem tutorial zu Folgen und ein paar Schritte versucht, etwas, das nicht beschrieben wird und das Problem behoben wurde:
https://www.jetbrains.com/help/idea/creating-and-managing-modules.html
Hier ist, was ich getan habe:
Aus irgendeinem Grund, alle meine Klassen hatten dann die blue C ist.
Jemand mit einem besseren Verständnis, wie IntelliJ und/oder IDE ist in der Lage sein könnte, das Phänomen zu erklären, aber alles, was ich weiß, ist es jetzt sehen kann, für alle Klassen und vor allem die wichtigsten ein-und ausführen.
danke das mein Problem gelöst
Vielen Dank, das funktionierte für mich, wenn andere Optionen nicht.
InformationsquelleAutor Sarah Cohen
Explizit die Schaffung einer
out
Ordner und dann die Einstellung output-Pfad zuC:\Users\USERNAME\IdeaProjects\PROJECTNAME\out
schien für mich arbeiten, wenn nur
out
, und zu erwarten, IntelliJ, um den Ordner nicht.Versuchen Sie auch, IntelliJ machen Sie eine neue run-Konfiguration:
Finden die vorhergehenden, indem Sie auf
entfernen Sie Sie dann
Treffer und okay.
Nun (WICHTIGER SCHRITT) öffnen Sie die Klasse mit der main-Methode. Dies ist wahrscheinlich am einfachsten getan, indem Sie auf den Namen der Klasse in der linken Seite den Bereich "Projekt".
Geben 'er ein Alt + Shift + F10 und man sollte ein
Nun drücken Sie Enter!!
Tadah??
(War es?)
main()
Funktion aus derclass Main
zu einer anderen Klasse. In diesem Fall Bearbeiten Sie die run-config, wie oben gezeigt, und ändern Sie den Wert von 'Main class' zu Ihrem Klassennamen(fully qualified).InformationsquelleAutor Brad Turek
Überprüfen Sie Ihre Klasse-Modul : ich traf dieses problem mit intellij :
Ich habe ein maven multi-Modul-Projekt, das problem ist, dass ich dies eine Klasse, die nicht existiert, wird das Modul in der Konfiguration, also mein problem ist behoben mit der Einstellung der richtigen Modul ("Konfiguration Bearbeiten" -> "class-Modul")
kann dies helfen,
Arbeitete für mich auch. Danke! Irgendetwas war wohl schief gegangen bei der Installation ein upgrade von IntelliJ oder das Scala-plugin. Danach erhalten Sie dieses seltsame problem. Sehr ärgerlich und zeitaufwendig. Hoffentlich JetBrains findet eine Auflösung.
InformationsquelleAutor Abdessattar NOISSI
Ich weiß, das war fragte vor einer Weile, aber ich war nur zu stolpern über dieses Problem und dachte, meine Erkenntnisse könnte anderen helfen. Wie wies darauf hin, die Fehlermeldung ist im Grunde ein Ergebnis der Ordner "out". Das ist, weil, wenn Sie versuchen, führen Sie das Programm, kompiliert er den ersten code, und legt die kompilierte Ergebnis für die location, und dann versucht es zu laden, die den kompilierten code aus der location. Wenn der kompilierte code ist nicht in der Lage voraussichtlich, erhalten Sie die Fehlermeldung.
Dem Punkt bin ich besonders wollen teilen ist, dass einige Male, der code wird nicht kompiliert (erstellt), auch wenn Ihr die Konfiguration auszuführen, die angibt, "Build" in der "Vor-Start" - Abschnitt der Konfigurations-panel.
Wann kann dies passieren?
Eine situation, die kann dazu führen, dass dies geschehen ist, wenn Sie Module und Sie manuell löschen Sie das Modul Verzeichnis. Zum Beispiel, wenn ich ein Modul mit dem Namen "foo", dort sollte ein Verzeichnis namens foo unter out/Produktion. Wenn Sie manuell löschen, das build-system kann nicht wissen, dass es neu aufgebaut werden muss.
Sogar noch schlimmer, wenn Sie wählen Sie Erstellen | Erstellen von Modul 'foo', so kann Sie noch nicht neu erstellen Sie das Modul. Wenn das der Fall ist, sollten Sie wählen Sie eine Datei in das Modul, zum Beispiel 'bar.java' und dann wählen Sie Erstellen | Kompilieren 'bar.java'. Jetzt das Verzeichnis out/Produktion/foo sollte wiederhergestellt werden.
Seit IntelliJ in der Regel weiß über alle änderungen gehen auf, das überraschte mich, und nahm mir ein wenig Zeit, um herauszufinden, so dass ich dachte, ich würde Aktie.
InformationsquelleAutor msoltys
Invalidate-cache und starten Sie Ihren intellij, es funktionierte für mich.
InformationsquelleAutor SKK
Hatte ich anlässlich des "src" - Ordner "Sources". Nach dem Neustart IntelliJ und dem Umbau des Projekts konnte ich das Projekt ohne weitere Probleme (siehe screenshot).
Edit: kann Man mit der "Projektstruktur" - tab über Datei->Projekt-Struktur oder durch drücken von Strg+Shift+Alt+S.
InformationsquelleAutor NEMESIS
Ich habe vor solche Probleme, wenn die Klasse im default-Ordner, d.h., wenn die Klasse nicht deklarieren eines Paketes.
Also ich denke, mit einer package-Anweisung (zB.
package org.me.mypackage;
) auf der Oberseite der Klasse sollte es beheben.Verwenden Sie einfach einen Paketnamen Ihre eigenen, wie diese :
package org.confused.mailman;
Gut, der package-Anweisung übereinstimmen, wo die IDE hat die Datei. Wenn die IDE nicht die Datei in sourceBase/
org/confused/mailman
dann hinzufügen, dass die package-Zeile ist nicht zu helfen.Ich denke, die IDE-guide an, und automatisch beheben, wenn der empfohlene fix ausgewählt ist.
nicht helfen :/..die IDE scheint nicht gestört werden die änderungen, die ich machen..es wirft die obige Fehlermeldung und Rücken sitzt und entspannt
InformationsquelleAutor Hakan Serce
Öffnen Sie Die Registerkarte Module (Drücken Sie Strg+Umschalt+Alt+S). Ich hatte zwei Module im Rahmen eines Projektes. Ich habe das problem lösen nach dem entfernen der zweite redundante Modul (siehe screenshot).
InformationsquelleAutor Taras Melnyk
In meinem Fall das problem schien zu sein, in Bezug auf die Aktualisierung IntelliJ. Als ich dies Tat ich überschrieb die Dateien aus dem alten IntelliJ mit den Dateien aus dem neuen IntelliJ (2017 Gemeinschaft 2018 Gemeinschaft). Nach, dass alle meine Projekte waren gebrochen. Ich habe alles versucht in diesem thread und keiner von Ihnen arbeitete. Ich habe versucht, aktualisieren von gradle auf die neueste version (4 4,8) und das hat nicht funktioniert. Das einzige, was für mich gearbeitet wurde das löschen des gesamten IntelliJ Ordner und neu installieren. Alle meine Projekte arbeitete danach.
idea\bin
zuidea_old\bin
umbenannt und den Ordner "settings" in%user%\username
die.IntelliJIdea2018.2
zu.IntelliJIdea2018.2_old
dann re-extrahiert intellij zip-Datei, um es zu benutzen als frischen neuen portable-version (Das ist die version 2018.2.1) mit Spring-Boot-Anwendung aus mehreren separaten Modulen (nicht verknüpften single-Eltern pom.xml) jeder ist Frühling starten mit eigener app pom.xml und voila !!! Alle arbeiten, Ziel-Ordner erstellt, kompilieren, bevor Sie laufen durch den Frühling-boot-dashboard.InformationsquelleAutor blindcant
Für mich - ich habe versucht, einige der oben genannten Optionen, nicht. Dann habe ich einfach umbenannt in meiner Application-Klasse und das wahrscheinlich gezwungen, intelliJ zu bauen, ein frisches Glas und Fehlermeldung begannen sich zu verändern. Dann benannte ich es wieder und es funktionierte.
InformationsquelleAutor JavaTec
Markieren Sie das Verzeichnis als source-Verzeichnis. Das über Strg+Shift+Alt+S
InformationsquelleAutor Crt
Erarbeiten Brad Turek Lösung... Eines der Standard-IntelliJ Java-Projekt-Vorlagen erwartet eine Datei namens Main definieren der Klasse Main und main() Methode Einstiegspunkt. Wenn die Methode enthalten ist, die in einer anderen Datei (und Klasse), ändern Sie die Laufen Konfiguration:
Führen Sie Konfigurations-Fenster
Menü, um die build-Konfiguration Fenster.
main() Eintrag Methode, geben Sie den korrekten Dateinamen. (Die Konfiguration, in der das Bild falsch ist, das ist, warum es rot in der Konfigurations-panel.)
Als andere gemerkt haben, Sie haben zu ReBuild mit der neuen Konfiguration. Ich bin mit einem Paket, aber das scheint nicht, einen Unterschied zu machen IME. Hoffe, das hilft.
InformationsquelleAutor JHake
In meinem Fall in das Modul zu bauen.gradle der mainClassName Zuordnung muss den vollständig qualifizierten Klassennamen, dh. wie angegeben als Paket-name in der main-class " - Quelltext-Datei.
InformationsquelleAutor Matthew
Gehen Sie folgendermaßen vor
Hurra....Ihr code ausgeführt wird:)
InformationsquelleAutor Nikhil Goyal
Für mich, das problem war ein Sonderzeichen in den Datei-Pfad.
IntelliJ mir erlaubt, das Projekt zu öffnen, aber wenn ich gebaut/lief das Projekt, es konnte nicht suchen Sie die Klasse mehr, denn es war die Umwandlung der Datei-Pfad zu entfernen, die den besonderen Charakter und war daher auf der Suche im falschen Verzeichnis.
Das problem zu lösen, die ich gerade entfernt die Sonderzeichen aus dem Namen des Ordners mein Projekt wurde gespeichert und erneut geöffnet wird das Projekt in IntelliJ.
Nur aus Neugier, was war der Besondere Charakter?
InformationsquelleAutor Mitchell Cash
Nur re-erstellen Sie das Projekt (STRG+F9) und überprüfen (Konfigurationen Bearbeiten), wenn Sie einen korrekt eingestellt Main-Klasse, und das Modul (wenn vorhanden)
InformationsquelleAutor AlexPes
Habe ich versucht alle hacks, die hier vorgeschlagen - ohne Erfolg. Am Ende habe ich einfach erstellt ein neues Maven-Anwendung und manuell kopiert und in es - nacheinander - die pom.xml und die java-Dateien und Ressourcen. Es funktioniert alles jetzt. Ich bin neu auf IntelliJ und völlig unbeeindruckt, aber, wie einfach es ist, um es in einen instabilen Zustand.
InformationsquelleAutor Pierluigi Vernetto
modules.xml mit falschen Inhalt, ich weiß nicht, was die Sache mit meiner IDEE.
InformationsquelleAutor ibamboo
Habe ich geerbt eine Reihe von .JAVA-Dateien, die von anderswo und konnte nicht herausfinden, wie Sie funktionieren, in jeder IDE. Letztendlich musste ich gehen Sie auf den Befehl Linie, wo die Main.JAVA Datei war und laufen
javac Main.java
. Dies erstellt eine Reihe von .CLASS-Dateien. Die IDE ' s waren dann in der Lage, herauszufinden, was zu tun ist.InformationsquelleAutor codeMonkey