Archiv verlassen und diese Seite im Standarddesign anzeigen : Java: Kompilieren funktioniert nicht
Frosdedje
2024-10-17, 17:52:51
Es ist mein ersten Mal in Programmieren und zum Einstieg wollte ich mit dem Hello Word bzw. Hallo Welt anfangen, wie man am Code erkennen kann:
public class HalloWelt {
public static void main(string[] args) {
System.out.println("Hallo Welt!");
}
}
JavaSDK und Notepad++ auf meinem Rechner sind alle auf dem aktuellsten Stand.
Alles wurde richtig eingetippt und in Ordner Dokumente abgespeichert. Aber wenn in der Eingabenaufforderung den Befel zum compilieren [javac HalloWelt.java] eingebe, erhalte ich jedes Mal eine Fehlermeldung:
Fehler: Datei nicht gefunden: HalloWelt.java
Verwendung: javac <Optionen> <Quelldateien>
Mit --help können Sie eine Liste der möglichen Optionen aufrufen
Wahlweise habe ich die .java-Datei auf dem Desptop verschoben und erhalte immernoch die gleiche Fehlermeldung. Und tippe ich nur den Verzeichnisname die zu der .java-Datei führt endet das Ganze so:
Das System kann den angegebenen Pfad nicht finden.
Gibt eine Lösung?
josefYY
2024-10-17, 18:37:41
Offensichtlich findet deine javac.exe deine Java-Datei nicht.
Kopiere die Datei mal in das bin Verzeichnis von deinem JDK bzw. JRE, da wo auch deine javac.exe liegt.
Oder du gibst den Vollständigen Pfad zu der Datei an:
javac.exe "C:\BlaBla\Desktop\HalloWelt.java"
Letztlich würde ich dir aber eh empfehlen eine IDE zu verwenden.
Z.B. Eclipse oder IntelliJ Community Edition.
Frosdedje
2024-10-17, 19:14:41
Kopiere die Datei mal in das bin Verzeichnis von deinem JDK bzw. JRE, da wo auch deine javac.exe liegt.
Und wie komme ich da dran bzw. wo finde ich diese?
PatkIllA
2024-10-17, 19:17:24
Du führst das wahrscheinlich nur im falschen Ordner aus.
Wie genau gibst du den Befehl ein?`
Du führst das wahrscheinlich nur im falschen Ordner aus.
Wie genau gibst du den Befehl ein?`
Würde ich auch vermuten.
Wenn eine Kommandozeile zum Einsatz kommt, hilft es bei der Fehlersuche sehr die Eingabe und Ausgabe vollständig zu posten.
Frosdedje
2024-10-17, 19:30:07
Zwischenstand:
Habe die besagte Java-Datei in den Destop kopert und dann wie folgt
C:\Users\Benutzername>javac C:\Users\Benutzername\Desktop\HalloWelt.java
eingegeben und jetzt habe ich die gewünschte .class Datei [HalloWelt.class]. :uup:
Was mich zum zweiten Problem führt: Nun will ich den Satz "Hallo Welt!" anzeigen lassen.
Aber tippe ich den Befehl "C:\Users\Benutzername>java C:\Users\Benutzername\Desktop\HalloWelt" (oder Nur java HalloWelt oder java HalloWelt.class) in die Eingabeaufforderung aus, sehe ich nur diese Fehlermeldung:
Fehler: Hauptklasse C:\Users\Benutzername\Desktop\HalloWelt konnte nicht gefunden oder geladen werden
Ursache: java.lang.ClassNotFoundException: C:\Users\Benutzername\Desktop\HalloWelt
Was mich zum zweiten Problem führt: Nun will ich den Satz "Hallo Welt!" anzeigen lassen.
Aber tippe ich den Befehl "C:\Users\Benutzername>java C:\Users\Benutzername\Desktop\HalloWelt" (oder Nur java HalloWelt oder java HalloWelt.class) in die Eingabeaufforderung aus, sehe ich nur diese Fehlermeldung:
Fehler: Hauptklasse C:\Users\Benutzername\Desktop\HalloWelt konnte nicht gefunden oder geladen werden
Ursache: java.lang.ClassNotFoundException: C:\Users\Benutzername\Desktop\HalloWelt
Du vermischt Dateipfad/-name und Klassennamen. Das ist nicht das Selbe.
Der java Befehl will einen Klassennamen. Die Datei, die die entsprechende Klasse enthält muss "nur" im Pfad auffindbar sein...
Probier es so:
cd C:\Users\Benutzername\Desktop
java HalloWelt
Frosdedje
2024-10-17, 19:40:57
Probier es so:
cd C:\Users\Benutzername\Desktop
java HalloWelt
Und wie soll ich zwei Zeilen gleichzeitig in die Eingabeaufforderung eingeben? So funktioniert es nicht.
Und wie soll ich zwei Zeilen gleichzeitig in die Eingabeaufforderung eingeben? So funktioniert es nicht.
Dann gäbe es wohl noch die Möglichkeit die zwei Zeilen nacheinander einzugeben...
Frosdedje
2024-10-17, 19:50:53
Wie mache ich das?
Exxtreme
2024-10-17, 19:59:30
So:
cd C:\Users\Benutzername\Desktop -> Enter drücken
java HalloWelt
Frosdedje
2024-10-17, 20:01:27
Ahh, jetzt halt's funktioniert. Danke :love2:
Asaraki
2024-10-17, 20:25:27
So:
cd C:\Users\Benutzername\Desktop -> Enter drücken
java HalloWelt
:D das war sehr nett von dir!
Und lieber Neuling, Versuch generell - ja ist harte Arbeit - bevor du fragst die die Frage selbst zu stellen. Zu Beginn empfehle ich wirklich dies laut ausgesprochen zu tun.
Klingt komisch, aber löst unglaublich viele Probleme. 100% ernst gemeint :)
Einer der skills in der Entwicklung ist bei Unwissen nicht einfach zu denken „weiss ich nicht, kann ich nicht, muss jemanden fragen“
Im schlimmsten Fall verbessert es immer noch die Qualität deiner Frage :)
Anekdote zu Unwissen : Unser erstes Windows (3.1) haben mein Bruder und ich jeweils installiert um es zu starten, da wir zwar notiert hatten wie man Windows bedient, aber den Befehl nicht. Ergo sassen wie vor einem schwarzen Bildschirm mir C:/ und dachten Windows sei weg :D
Als dann unser Informatikfreund wieder da war und wir das erzählten musste er auch lachen, zeigte uns die hohe Magie von „win“ und wir waren zugleich beschämt und sehr happy ^^
Sagen wir es so… mit Windows installieren hatten wir nie mehr ein Problem ^^
Frosdedje
2024-10-19, 10:51:18
Weil es mir gerade eingefallen war:
Einen Satz wie "Hallo Welt!" ausgeben geht, aber was wäre wenn mit dem gleichen Code einen größeren Text mit mehren Zeilen ausgeben werden soll... :uconf:
Sprich: Wenn nach dem Eintippen von java (Datei) in der Eingabeaufforderung sowas rauskommt:
Dies ist ein Text
Das ist die zweite Zeile
Das ist die dritte Zeile
Dies ist die vierte Zeile
Mein erster Gedanke sieht so aus.
public class HalloWelt {
public static void main(string[] args) {
System.out.println("Dies ist ein Text
........Das ist die zweite Zeile
........Das ist die dritte Zeile
........Dies ist die vierte Zeile");
}
}
Aber ob man das so zum Compillieren akzeptiert...
Oder ob in dem Code noch einen Befehl oder zuästzliche Zeichen eingeben werden muss. :uponder:
fezie
2024-10-19, 10:58:37
System.out.println gibt ja zeilenweise aus. Also mit Zeilenumbruch am Ende
Also einfach
System.out.println("Zeile1");
System.out.println("Zeile2");
usw. usf.
Oder das hier müsste auch gehen (ungetestet!)
System.out.println("Zeile1\nZeile2\nZeile3");
Frosdedje
2024-10-19, 11:12:24
Oder das hier müsste auch gehen (ungetestet!)
System.out.println("Zeile1\nZeile2\nZeile3");
Der funktioniert und hat auch mir das gewünschte Ergebenis hervorgebracht. :uup:
Aber anfangs kam immer den Fehler Fehler: Unzulässiges Escapezeichen in der Eingabeaufforderung raus - bis ich sah, dass die ich vergessen hatte, das n vor dem \ einzugeben. :uroll:
vBulletin®, Copyright ©2000-2024, Jelsoft Enterprises Ltd.