Ich bin ein Anfänger in Java und versuche, meinen Code mit IntelliJ auszuführen, den ich gerade als IDE mit JDK 1.7 installiert habe. Der folgende Code wird nicht einmal kompiliert und gibt mir immer den Fehler:
Error: Could not find or load main class libTest
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 in den Compilereinstellungen vornehmen muss? Oder ist es der Code?.
Das könnte helfen:
1) Menü "Erstellen" -> "Rebuild Project
" . Manchmal schreibt Intellij die Klassen nicht neu, da sie bereits vorhanden sind. Auf diese Weise bitten Sie Intellij, alles neu zu schreiben.
2) Menü "Ausführen" -> "Edit configuration
" -> Profil löschen -> Profil wieder hinzufügen ("Anwendung", wenn es sich um eine Java-Anwendung handelt), wählen Sie Ihre Hauptklasse aus dem Dropdown-Menü "Hauptklasse".
3) Menü "Erstellen" -> "Rebuild Project
".
Wenn keine der obigen Antworten für Sie funktioniert hat, schließen Sie einfach Ihre intelliJ IDE und entfernen Sie die intelliJ IDE Datei und den Ordner aus dem Stammverzeichnis des Projekts:
rm -rf .idea *.iml
Dann öffnen Sie das Projekt mit intelliJ. Es muss jetzt klappen.
Einen out
Ordner explizit erstellen und dann den Ausgabepfad auf C:\Users\USERNAME\IdeaProjects\PROJECTNAME\out
setzen
schien für mich zu funktionieren, wenn nur out
und erwartet, dass IntelliJ den Ordner nicht machen würde.
Versuchen Sie auch, mit IntelliJ eine neue Ausführungskonfiguration zu erstellen:
Suchen Sie die vorherige, indem Sie auf klicken
dann entferne es
und drück auf OK.
Öffnen Sie jetzt (WICHTIGER SCHRITT) die Klasse, die Ihre Hauptmethode enthält. Dies ist wahrscheinlich am einfachsten, indem Sie auf den Klassennamen im linken Projekt klicken Feld.
Gib 'er ein Alt + Shift + F10 und du solltest einen bekommen
Jetzt schlag Enter!!
Tadah ?? (Hat es funktioniert?)
Ich hatte dieses Problem und habe alles unter der Sonne ausprobiert, woran ich auf dieser Seite denken konnte.
Keine meiner Java-Klassen wurde abgeholt, nachdem ich aus einem entfernten Zweig gezogen wurde. Alle Klassen hatten rote Js in der Projekthierarchie, nicht blaue Cs.
Am Ende habe ich versucht, diesem Tutorial zu folgen und ein paar Schritte in etwas zu versuchen, was nicht beschrieben wurde, und das Problem behoben: https://www.jetbrains.com/help/idea/creating-and-managing-modules .html
Folgendes habe ich getan:
Aus irgendeinem Grund hatten alle meine Klassen dann blaue C's.
Jemand mit einem besseren Verständnis darüber, wie IntelliJ und/oder IDE das Phänomen erklären können, aber alles, was ich weiß, ist, dass es jetzt alle Klassen und vor allem die Hauptklasse sehen und ausführen kann.
Ich weiß, dass dies vor einiger Zeit gefragt wurde, aber ich stolperte gerade über dieses Problem und dachte, meine Erkenntnisse könnten anderen helfen. Wie bereits erwähnt, ist die Fehlermeldung im Wesentlichen ein Ergebnis des Out-Ordners. Wenn Sie versuchen, das Programm auszuführen, kompiliert es den Code zuerst und platziert das kompilierte Ergebnis an den Out-Speicherort. Anschließend wird versucht, den kompilierten Code vom Out-Speicherort zu laden. Wenn sich der kompilierte Code nicht am erwarteten Speicherort befindet, wird der Fehler angezeigt.
Der Punkt, den ich besonders gerne teilen möchte, ist, dass der Code manchmal nicht kompiliert (erstellt) wird, obwohl Ihre Laufkonfiguration im Abschnitt "Vor dem Start" des Konfigurationsfensters "Build" angibt.
Wann kann das passieren? Eine Situation, die dazu führen kann, ist, dass Sie Module verwenden und das Modul-Out-Verzeichnis manuell löschen. Wenn ich beispielsweise ein Modul mit dem Namen "foo" habe, sollte sich unter out/production ein Verzeichnis mit dem Namen foo befinden. Wenn Sie es manuell löschen, weiß das Buildsystem möglicherweise nicht, dass es neu erstellt werden muss.
Noch schlimmer, wenn Sie Build | auswählen Modul 'foo' erstellen, das Modul kann immer noch nicht neu erstellt werden. Wenn dies der Fall ist, sollten Sie im Modul eine Datei auswählen, z. B. "bar.Java", und dann Build | auswählen Kompilieren Sie 'bar.Java'. Nun sollte das Ausgangsverzeichnis out/production/foo wiederhergestellt werden.
Da IntelliJ in der Regel über Änderungen informiert ist, hat mich das sehr überrascht und ich habe ein wenig Zeit gebraucht, um herauszufinden, was ich dachte.
Überprüfe dein Klassenmodul : Dieses Problem ist mit intellij aufgetreten: Ich habe ein Maven-Multimodul-Projekt. Das Problem ist, dass ich eine Klasse führe, die das Modul nicht in der Konfiguration enthält. Mein Problem ist also Festgelegt durch Setzen des richtigen Moduls ("Konfiguration bearbeiten" -> "Modulklasse verwenden")
kann dir das helfen
Ich musste den Ordner "src" als "Quellen" markieren. Nach dem Neustart von IntelliJ und dem erneuten Erstellen des Projekts konnte ich das Projekt ohne weitere Probleme ausführen (siehe screenshot ) . Bearbeiten: Sie können auf die Registerkarte "Projektstruktur" über Datei-> Projektstruktur oder durch Drücken von Strg + Shift zugreifen + Alt + S.
Ich bin mit solchen Problemen konfrontiert, wenn sich die Klasse im Standardordner befindet, d. H. Wenn die Klasse kein Paket deklariert.
Ich schätze also, wenn man eine Paketanweisung (zB package org.me.mypackage;
) über der Klasse verwendet, sollte dies behoben werden.
Ich habe eine Reihe von .Java-Dateien von einer anderen Stelle geerbt und konnte nicht herausfinden, wie ich sie in einer IDE zum Laufen bringen kann. Letztendlich musste ich zu der Befehlszeile gehen, in der sich die Main.Java-Datei befand, und javac Main.Java
ausführen. Dadurch wurden eine Reihe von CLASS-Dateien erstellt. Die IDEs konnten dann herausfinden, was zu tun ist.
In meinem Fall schien das Problem mit der Aktualisierung von IntelliJ zu zusammenhängen. Dabei habe ich die Dateien der alten IntelliJ mit den Dateien der neuen IntelliJ (2017 Community bis 2018 Community) überschrieben. Danach waren alle meine Projekte kaputt. Ich habe alles in diesem Thread ausprobiert und keiner von ihnen hat funktioniert. Ich habe versucht, Gradle auf die neueste Version (4 bis 4,8) zu aktualisieren, und das hat nicht funktioniert. Das einzige, was für mich funktionierte, war das Löschen des gesamten IntelliJ-Ordners und die Neuinstallation. Alle meine Projekte funktionierten danach.
Für mich - ich habe einige der oben genannten Optionen ausprobiert, aber nicht funktioniert. Dann habe ich gerade meine Application-Klasse umbenannt und das hat wahrscheinlich IntelliJ gezwungen, ein neues Glas zu erstellen, und die Fehlermeldung begann sich zu ändern. Dann habe ich es umbenannt und es hat funktioniert.
In meinem Fall muss im build.gradle des Moduls die mainClassName-Zuweisung den vollständig qualifizierten Klassennamen angeben, dh wie in der Quellcodedatei der Hauptklasse als Paketname angegeben.
Für mich war das Problem ein Sonderzeichen im Dateipfad.
IntelliJ erlaubte mir, das Projekt zu öffnen. Beim Erstellen/Ausführen des Projekts konnte die Klasse jedoch nicht mehr gefunden werden, da der Dateipfad so geändert wurde, dass das Sonderzeichen entfernt wurde, und daher im falschen Verzeichnis gesucht wurde.
Um das Problem zu lösen, habe ich gerade das Sonderzeichen aus dem Ordnernamen entfernt, in dem mein Projekt gespeichert war, und das Projekt in IntelliJ erneut geöffnet.
Ich habe alle hier vorgeschlagenen Hacks ausprobiert - ohne Erfolg. Am Ende habe ich einfach eine neue Maven-Anwendung erstellt und manuell nacheinander in die Datei pom.xml und die Java-Dateien und -Ressourcen kopiert. Alles funktioniert jetzt. Ich bin neu bei IntelliJ und total unbeeindruckt, aber wie einfach es ist, es in einen instabilen Zustand zu bringen.
Ich habe diesen Fehler bei der Verwendung von Scala/SBT. IntelliJ konnte die Hauptklasse nicht finden, obwohl alles korrekt eingerichtet war. Meine Lösung: Löschen Sie den Ordner <user>/.sbt/<version>/plugins/target
und starten Sie IntelliJ neu.
Erstellen Sie einfach das Projekt neu (STRG + F9) und überprüfen Sie (Konfigurationen bearbeiten), ob Sie eine ordnungsgemäß eingestellte Hauptklasse und ein Modul (falls vorhanden) haben.
Auf die Lösung von Brad Turek eingehen ... Eine der Standardvorlagen für IntelliJ Java-Projekte erwartet eine Datei namens Main, die den Methodeneinstiegspunkt class main und main () definiert. Wenn die Methode in einer anderen Datei (und Klasse) enthalten ist, ändern Sie die Konfiguration von Run:
Konfigurationsfenster ausführen
Wie andere angemerkt haben, müssen Sie ReBuild mit der neuen Konfiguration verwenden. Ich verwende ein Paket, aber es scheint keinen Unterschied zu machen, IME. Hoffe das hilft.
Folge diesen Schritten
Yippee .... Ihr Code wird ausgeführt :)