Ich bin ein Anfänger in Java und versuche, meinen Code mit IntelliJ auszuführen, das ich gerade als meine IDE mit JDK 1.7 installiert habe. Der folgende Code wird nicht einmal kompiliert und gibt mir immer wieder den Fehler:
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 in den Compiler-Einstellungen vornehmen muss? Oder ist es der Code?
java
compiler-errors
intellij-idea
Verwirrter Postbote
quelle
quelle
libTest.java
?import java.lang...
Dies geschieht automatisch für Klassen imlang
Paket.Antworten:
Dies könnte helfen:
1) Menü "Erstellen" -> "
Rebuild Project
". Manchmal schreibt Intellij die Klassen nicht neu, weil 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
".quelle
Rebuild Project
hat für mich gearbeitet!"Build" menu -> "Rebuild Project
- hat den Job gemacht! Vielen Dankrebuild project
hat für mein Problem funktioniert. Danke dir!Wenn keine der oben genannten 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:
Dann Projekt mit IntelliJ öffnen. Es muss jetzt funktionieren.
quelle
.idea
Ordners behebt immer alle Probleme mit den IDEs von JetBrains :)Für mich bestand die Lösung darin, das Ausgabeverzeichnis unter den Projekteinstellungen zu korrigieren. Vorher habe ich nur "Ziel" für die Projekt-Compiler-Ausgabe verwendet. Stattdessen habe ich es aktualisiert, um einen vollständigen Pfad zu haben, z. B. D: \ dev \ sigplusjava2_68 \ target
quelle
Rebuild Project
wie a.Ich hatte dieses Problem und versuchte alles unter der Sonne, was mir einfiel und auf dieser Seite.
Keine meiner Java-Klassen wurde abgeholt, nachdem ich von einem entfernten Zweig gezogen hatte. Alle Klassen hatten rote Js mit ihren Namen in der Projekthierarchie, keine blauen Cs.
Am Ende habe ich versucht, diesem Tutorial zu folgen, und ein paar Schritte, um etwas zu versuchen, das 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 Cs.
Jemand mit einem besseren Verständnis dafür, wie IntelliJ und / oder IDEs das Phänomen erklären können, aber ich weiß nur, dass es jetzt alle Klassen und vor allem die Hauptklassen sehen und ausführen kann.
quelle
Explizites Erstellen eines
out
Ordners und Festlegen des Ausgabepfads aufC:\Users\USERNAME\IdeaProjects\PROJECTNAME\out
schien für mich zu funktionieren, als ich gerade war
out
, und ich erwartete, dass IntelliJ den Ordner nicht erstellen würde.Versuchen Sie auch, sich von IntelliJ eine neue Ausführungskonfiguration erstellen zu lassen:
Suchen Sie den vorherigen, indem Sie auf klicken
dann entfernen Sie es
und schlag okay.
Öffnen Sie nun (WICHTIGER SCHRITT) die Klasse, die Ihre Hauptmethode enthält. Dies ist wahrscheinlich am einfachsten, wenn Sie im Projektbereich auf der linken Seite auf den Klassennamen klicken.
Geben Sie ein Alt+ Shift+ F10und Sie sollten ein bekommen
Jetzt schlagen Enter!!
TA Dah?? (Hat es funktioniert?)
quelle
main()
Funktion von derclass Main
in eine andere Klasse verschoben haben . Bearbeiten Sie in diesem Fall die Ausführungskonfiguration wie oben gezeigt und ändern Sie den Wert von 'Hauptklasse' in Ihren Klassennamen (voll qualifiziert).Ungültiger Cache und Neustart Ihres Intellij, es hat bei mir funktioniert.
quelle
Ich weiß, dass dies vor einiger Zeit gefragt wurde, aber ich bin nur über dieses Problem gestolpert und dachte, meine Ergebnisse könnten anderen helfen. Wie bereits erwähnt, ist die Fehlermeldung im Wesentlichen ein Ergebnis des Out-Ordners. Dies liegt daran, dass beim Versuch, das Programm auszuführen, zuerst der Code kompiliert und das kompilierte Ergebnis an den Out-Speicherort verschoben wird. 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 mitteilen möchte, ist, dass der Code manchmal nicht kompiliert (erstellt) wird, obwohl in Ihrer Ausführungskonfiguration im Abschnitt "Vor dem Start" des Konfigurationsfensters "Erstellen" angegeben ist.
Wann kann das passieren? Eine Situation, die dazu führen kann, ist, wenn 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 Build-System möglicherweise nicht, dass es neu erstellt werden muss.
Noch schlimmer, wenn Sie Build | auswählen Erstellen Sie das Modul 'foo', das Modul wird möglicherweise immer noch nicht neu erstellt. In diesem Fall sollten Sie eine Datei im Modul auswählen, z. B. 'bar.java', und dann Build | auswählen Kompilieren Sie 'bar.java' neu. Jetzt sollte das out-Verzeichnis out / Production / foo wiederhergestellt werden.
Da IntelliJ normalerweise über Änderungen Bescheid weiß, überraschte mich dies und ich brauchte ein wenig Zeit, um es herauszufinden, sodass ich dachte, ich würde es teilen.
quelle
Überprüfen Sie Ihr Klassenmodul : Ich habe dieses Problem mit Intellij festgestellt: Ich habe ein Maven-Projekt mit mehreren Modulen. Das Problem besteht darin, dass ich eine Klasse ausführe, deren Modul in der Konfiguration nicht vorhanden ist. Daher wird mein Problem durch Festlegen des richtigen Moduls behoben ( "Konfiguration bearbeiten" -> "Modulklasse verwenden")
Möge dies Ihnen helfen
quelle
Ich musste den Ordner "src" als "Sources" markieren. Nach dem Neustart von IntelliJ und der Neuerstellung 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 + Umschalt + Alt + S zugreifen.
quelle
Öffnen Sie die Registerkarte "Module" (Drücken Sie Strg + Umschalt + Alt + S). Ich hatte zwei Module unter einem Projekt. Ich habe das Problem nach dem Entfernen des zweiten redundanten Moduls gelöst (siehe Screenshot).
quelle
Ich habe solche Probleme gehabt, wenn sich die Klasse im Standardordner befindet, dh wenn die Klasse kein Paket deklariert.
Ich denke also, dass die Verwendung einer Paketanweisung (z. B.
package org.me.mypackage;
) über der Klasse das Problem beheben sollte.quelle
package org.confused.mailman;
org/confused/mailman
Hinzufügen dieser Paketzeile nicht.Datei> Projektstruktur> Module> Ordner "src" als Quelle markieren. Dies sollte das Problem beheben. Überprüfen Sie auch, ob die neueste Sprache ausgewählt ist, damit Sie weder Code ändern noch Konfigurationsänderungen vornehmen müssen.
quelle
In meinem Fall schien das Problem mit dem Upgrade von IntelliJ zu zusammenhängen. Als ich das tat, habe ich die Dateien aus dem alten IntelliJ mit den Dateien aus dem neuen IntelliJ (Community 2017 bis 2018 Community) überschrieben. Danach waren alle meine Projekte kaputt. Ich habe alles in diesem Thread versucht und keiner von ihnen hat funktioniert. Ich habe versucht, gradle auf die neueste Version (4 auf 4.8) zu aktualisieren, aber das hat nicht funktioniert. Das einzige, was für mich funktioniert hat, war, den gesamten IntelliJ-Ordner zu löschen und neu zu installieren. Alle meine Projekte haben danach funktioniert.
quelle
idea\bin
zu seinidea_old\bin
und umbenannt die Einstellungen Ordner in%user%\username
denen.IntelliJIdea2018.2
werden.IntelliJIdea2018.2_old
dann intellij Zip - Datei erneut extrahiert beginnen sie als frische neue portable Version mit (Dies ist die Version 2018.02.01) mit Frühling Die Boot-App mit mehreren getrennten Modulen (nicht in der übergeordneten pom.xml verknüpft) ist jeweils eine Spring-Boot-App mit einer eigenen pom.xml und voila !!! Alle Arbeiten, Zielordner erstellt, kompiliert, bevor das Spring Boot Dashboard ausgeführt wird.Markieren Sie das Verzeichnis als Quellverzeichnis. Geöffnet über Strg + Umschalt + Alt + S.
quelle
Für mich - ich habe einige der oben genannten Optionen ausprobiert, hat nicht funktioniert. Dann habe ich gerade meine Anwendungsklasse umbenannt und das hat IntelliJ wahrscheinlich gezwungen, ein neues Glas zu erstellen, und die Fehlermeldung hat sich geändert. Dann habe ich es wieder umbenannt und es hat funktioniert.
quelle
Ich habe alle hier vorgeschlagenen Hacks ausprobiert - ohne Erfolg. Am Ende habe ich einfach eine neue Maven-Anwendung erstellt und die pom.xml sowie die Java-Dateien und -Ressourcen nacheinander manuell kopiert. Es funktioniert jetzt alles. Ich bin neu bei IntelliJ und völlig unbeeindruckt, aber wie einfach es ist, es in einen instabilen Zustand zu bringen.
quelle
modules.xml mit falschem Inhalt, ich weiß nicht, worauf es bei meiner IDEA ankommt.
quelle
Ich habe eine Reihe von .JAVA-Dateien von einem anderen Ort geerbt und konnte nicht herausfinden, wie ich sie in einer IDE zum Laufen bringen kann. Letztendlich musste ich zur Befehlszeile gehen, in der sich die Main.JAVA-Datei befand, und ausführen
javac Main.java
. Dadurch wurden eine Reihe von .CLASS-Dateien erstellt. Die IDEs konnten dann herausfinden, was zu tun ist.quelle
Ich habe diesen Fehler bei der Verwendung von Scala / SBT erhalten . IntelliJ konnte die Hauptklasse nicht finden, obwohl alles richtig eingerichtet war. Meine Lösung: Löschen Sie den
<user>/.sbt/<version>/plugins/target
Ordner und starten Sie IntelliJ neu.quelle
Ich verwende IntelliJ mit Spring und meine Hauptklasse ist in ein JAR eingewickelt. Ich musste im Dialogfeld "Ausführen / Debuggen" den Bereich "Abhängigkeiten mit dem Bereich" Bereitgestellt "einschließen" markieren
quelle
Wir befinden uns in der Datei- / Projektstruktur. Die Antwort könnte lauten:
Der als "Inhaltsstamm" angegebene Ordner benötigt einen untergeordneten Ordner, in dem sich der Code befindet. Suchen Sie außerdem die Schaltfläche, die den Code als ausgeschlossen markiert und nicht. Nicht zu verwechseln mit einem Kontrollkästchen, das Ausschluss angibt, ohne zu sagen, in welcher Phase und was ** Ist es Compiler-Ausschluss oder Laufzeit-Ausschluss? Sie sind zum Testen und Los verdammt. Also nicht dieses Kontrollkästchen, sondern Symbole und Farben.
Als Idee müssen wir knacken, wie es ursprünglich gedacht war, um zu funktionieren. Sie haben es nie zum ersten Mal zum Laufen gebracht und angefangen, Dinge im Stil der vorzeitigen Kodakulation hinzuzufügen. Es ist so viele Jahre her und Sie können keine Verbesserung erwarten. Aber als Heilmittel können wir jedes Mal einen Weg finden, um es richtig zu machen.
quelle
Eine andere Sache, die Sie hier überprüfen können, ist der tatsächliche Befehl, der an die JVM übergeben wird, und stellen Sie sicher, dass er in Ordnung aussieht. Scrollen Sie zum oberen Rand Ihrer Run-Konsole. Dies sollte die erste Zeile sein.
Leerzeichen in Ihrem Feld "Konfigurations-VM-Optionen ausführen" führen zu einer Fehlform des App-Startbefehls und können zu dieser Fehlermeldung führen
quelle
Ausarbeitung der Lösung von Brad Turek ... Eine der Standardvorlagen für IntelliJ Java-Projekte erwartet eine Datei namens Main, die den Einstiegspunkt für die Klassen Main und main () definiert . Wenn die Methode in einer anderen Datei (und Klasse) enthalten ist, ändern Sie die Run- Konfiguration:
Konfigurationsfenster ausführen
Wie andere angemerkt haben, müssen Sie mit der neuen Konfiguration neu erstellen . Ich benutze ein Paket, aber das scheint IME keinen Unterschied zu machen. Hoffe das hilft.
quelle
In meinem Fall muss in der build.gradle des Moduls die Zuweisung mainClassName den vollständig qualifizierten Klassennamen angeben, d. H. wie als Paketname in der Quellcodedatei der Hauptklasse angegeben.
quelle
Erstellen Sie einfach das Projekt neu (STRG + F9) und überprüfen Sie (Konfigurationen bearbeiten), ob Sie eine richtig eingestellte Hauptklasse und ein Modul (falls vorhanden) haben.
quelle
Eine einfache Lösung besteht darin, in den gesicherten Ordner in der Befehlszeile zu wechseln, in dem sich der Stammordner des Projekts befindet. Sie sollten SBT auf Ihrem Computer installiert haben.
Wenn Sie sbt installiert haben, führen Sie bitte den Befehl "sbt package" aus. Dadurch wird das Projekt neu kompiliert, wenn es erfolgreich ist. Kehren Sie zu der Intelligenz zurück, die funktioniert.
quelle
In meinem Fall hatte ich (relativ) lange VM-Argumente konfiguriert. Das Konvertieren dieser Argumente (wann immer möglich) in Umgebungsvariablen hat das Problem für mich behoben
quelle
In meinem Fall läuft die Anwendung gut, als sich der Code ursprünglich im Verzeichnis / src unter dem Projekt befand. Später habe ich das Verzeichnis / main / java nach / src hinzugefügt, dann ist der Fehler "Hauptklasse konnte nicht gefunden oder geladen werden ..." aufgetreten. Zu diesem Zeitpunkt konnten Sie /src/main/java/YourMain.java nicht zur Ausführungskonfiguration hinzufügen. Was ich getan habe, war, die Ausführungskonfiguration zu entfernen und dann mit der rechten Maustaste auf das Projekt-> Moduleinstellungen öffnen (oder F4, nachdem Sie auf das Projektfenster geklickt haben) -> Projekteinstellungen-> Module klicken (x) den alten Inhaltsstamm löschen und + Inhaltsstamm hinzufügen, klicken. wähle / src / main / java. Erstellen Sie das Projekt neu und es wird ausgeführt.
quelle
Sie hätten wahrscheinlich ein falsches Paket angegeben und die Pakethierarchie wäre nicht richtig. Schau unten
Die Idee würde in diesem Fall den falschen Weg aufzeigen.
quelle
In meinem Fall handelt es sich um ein Maven-Projekt. Ich habe Maven erneut importiert (klicken Sie mit der rechten Maustaste auf die Datei pom.xml und klicken Sie auf Reimport ). Das hat sofort funktioniert.
quelle