"Hello World"-Programm läuft nicht

Anfaengerin

Aktives Mitglied
Hallo!

Ich habe Eclipse 2024-03 und ein Java SE Development Kit 22.0.1.

Mit Eclipse habe ich eine Klasse "Program" erstellt und folgenden Code eingegeben:

public class Program {

public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println("Hello World");
}

}

Dann erhalte ich die Fehlermeldung:

Fehler: Hauptklasse Program konnte nicht gefunden oder geladen werden
Ursache: java.lang.ClassNotFoundException: Program

Kann mir da jemand helfen?
 
Da wäre die Frage, was Du genau gemacht hast.
  • Du hast ein Java Projekt erstellt?
  • Der Code ist in Program.java?
  • Die Datei Program.java ist direkt im src Ordner?

Auf den ersten Blick sieht das, was Du uns gezeigt hast, ok aus.
 
"Du hast ein Java Projekt erstellt?"

Ja, hab jetzt nochmal ein neues Projekt erstellt, "start", und dann wieder die Klasse "Program" erstellt und da eingegeben, was ich oben auch eingegeben hatte.

Jetzt meldet er:

"Error occurred during initialization of boot layer
java.lang.module.FindException: Module Start not found"

"Der Code ist in Program.java? Die Datei Program.java ist direkt im src Ordner?"

Ja und Ja.

Der Pfad ist C:\Users\49152\eclipse-workspace\Start\src.

Danke schonmal!
 
Ok, hast Du ggf. eine module-info.java? Diese wäre dann zu löschen. Wenn Du ein benanntes Modul hast, dann dürfen Klassen nicht im default package sein.
 
Hallo, hab ich gelöscht, jetzt meldet er "Fehler: Hauptklasse Program konnte nicht gefunden oder geladen werden
Ursache: java.lang.ClassNotFoundException: Program"

Die Datei "Program.Java" ist aber im SRC-Ordner.

Kann es sein, dass ich eine falsche IDE-Version mit einer falschen JDK-Version verbunden habe?
 
Wie startest du das Programm? Rechtsklick => Run as Java Program?
Ist bei Project der Haken bei "Build Automaticly" an?
Kannst mal einen Screenshot des Package Explorers/Navigators machen?
 
Wie startest du das Programm? Rechtsklick => Run as Java Program?
Ist bei Project der Haken bei "Build Automaticly" an?
Kannst mal einen Screenshot des Package Explorers/Navigators machen?
Normalerweise starte ich mit "Run start" bei Eclipse.

Wenn ich die Datei mit "Java (TM) platform SE binary" öffne, blinkt nur kurz ein weißer Unterstrich und dann schließt sich die Datei wieder.

"Ist bei Project der Haken bei "Build Automaticly" an?" bei create a new project finde ich da keinen Haken, hab mal einen Screenshot dafür angefügt.

@Konrad: "Ist das Java mit großem J geschrieben? Da evtl. einmal nachsehen. Gross-/Kleinschreibung bei Dateinamen ist wichtig. Dateiname ist - mit exakter Gross-/Kleinschreibung - der Name der Class + Endung ".java" - komplett klein!"

Ja, ich habe mal nachgeschaut. Die Endung .java war immer klein, jetzt habe ich auch die Klasse in (klein) program umgetauft (also gelöscht und eine neue generiert), aber meine Fehlermeldung bleibt.
 

Anhänge

  • Screenshot 1948.PNG
    Screenshot 1948.PNG
    59,9 KB · Aufrufe: 0
  • Screenshot 1954.PNG
    Screenshot 1954.PNG
    73,5 KB · Aufrufe: 0
  • Screenshot 2001.PNG
    Screenshot 2001.PNG
    101,5 KB · Aufrufe: 0
Hab zwar schon ewig kein Eclipse mehr für Java genutzt, aber ...
Was mir etwas verdächtig erscheint: Da ist (noch) kein Target-Verzeichnis in deinem Screenshot.
Ist das überhaupt konfiguriert und hat das Projekt zumindest einmal gebaut vorm Starten?
 
Was mir auffällt: wo ist das JRE referenziert? Daher ist da auch System und so unbekannt und daher ist das auch nicht übersetzt … und ohne Übersetzung keine Class Datei und damit kein Start der Anwendung.

Aber das hätte doch bei einem neuen Projekt da sein müssen …

Also nur um zu zeigen, was ich vermisse:
Bildschirmfoto 2024-04-18 um 20.16.24.png

Also einmal in die Properties gehen vom Projekt und da dann auf Java Build Path gehen und dann Libraries:
So in der Art sollte es aussehen:
Bildschirmfoto 2024-04-18 um 20.18.05.png

Wenn das fehlt, dann
  • auf Modulepath klicken
  • Add Library ... Button drücken
  • JRE System Library auswählen und next
  • Dann die JRE auswählen (Default ist Workspace default in der Auswahl - das sollte dann die Library hinzu fügen...
 
Dann auch ganz wichtig: Wenn Fehler angezeigt werden, dann muss man denen nachgehen. Also bei Deinem Bild ist da erkennbar:
Bildschirmfoto 2024-04-18 um 20.20.51.png

Vor den Zeilennummern hast du die gelbe Birne mit rotem X. Und im Code hast du Unterstreichungen. Wenn Du mit der Maus drüber gehst, dann sollte da nach kurzer Zeit auch die Meldung / der Fehlertext eingeblendet werden.

Aber halt ganz wichtig: So lange da Fehler angezeigt werden, ist der Code nicht übersetzt. Damit gibt es keine Class und die würde gebraucht um das Programm zu starten. Das erklärt dann wohl auch die ClassNotFoundException: Er schaut halt nach dem .class File und das ist nicht da.
 
Das Problem mit den Warnmeldungen lässt sich nachstellen, wenn man die (wohl vorab) eingestellte referenzierte JRE entfernt. Zwecks Reparatur und Testen mit Java 22 (<- könnte sein, dass die neue Version auch Ärger macht. Das scheint aber nicht der Fall zu sein):

Eclipse_J22_Preferences.png

Eclipse_J22.JPG

Inhalt von module-info.java:
Code:
module start_anf {
}
 
Dann auch ganz wichtig: Wenn Fehler angezeigt werden, dann muss man denen nachgehen. Also bei Deinem Bild ist da erkennbar:
Anhang anzeigen 22665

Vor den Zeilennummern hast du die gelbe Birne mit rotem X. Und im Code hast du Unterstreichungen. Wenn Du mit der Maus drüber gehst, dann sollte da nach kurzer Zeit auch die Meldung / der Fehlertext eingeblendet werden.

Aber halt ganz wichtig: So lange da Fehler angezeigt werden, ist der Code nicht übersetzt. Damit gibt es keine Class und die würde gebraucht um das Programm zu starten. Das erklärt dann wohl auch die ClassNotFoundException: Er schaut halt nach dem .class File und das ist nicht da.
Danke für den Tipp mit der library. Jetzt unterstreicht er die Wörter nicht mehr rot. Aber die Fehlermeldung bleibt.
 

Anhänge

  • Screemshot 0825.PNG
    Screemshot 0825.PNG
    100,5 KB · Aufrufe: 0
Danke für den Tipp mit der library. Jetzt unterstreicht er die Wörter nicht mehr rot. Aber die Fehlermeldung bleibt.
Das Problem mit den Warnmeldungen lässt sich nachstellen, wenn man die (wohl vorab) eingestellte referenzierte JRE entfernt. Zwecks Reparatur und Testen mit Java 22 (<- könnte sein, dass die neue Version auch Ärger macht. Das scheint aber nicht der Fall zu sein):

Anhang anzeigen 22667

Anhang anzeigen 22670

Inhalt von module-info.java:
Code:
module start_anf {
}
Also soll ich noch andere Versionen vom jdk installieren für andere JRE?

Edit: ich hab jetzt JDK 17 installiert, aber er nimmt da keine JRE.
 

Anhänge

  • No JREs found.PNG
    No JREs found.PNG
    131,8 KB · Aufrufe: 0
Es klappt. Ich hab JDK 17 installiert und Eclipse nochmal sauber deinstalliert und dann drauf installiert und jetzt klappts!

Danke für Eure Hilfe. 🙂
 

Anhänge

  • Es klappt.PNG
    Es klappt.PNG
    74,5 KB · Aufrufe: 0

Zurück
Oben