Weiter zum Inhalt

01.04.01 Schreiben, Kompilieren, Ausführen

Jetzt haben Sie schon viel über Java gelesen, aber noch kein Programm geschrieben. Das wird sich jetzt ändern! Legen Sie sich zuerst einen Ordner an, in welchem Sie Ihre Java-Programme in Zukunft abspeichern möchten.

Anschließend erstellen Sie dort einen Unterordner und nennen diesen HelloWorld (der Name Ihrer ersten Anwendung). In diesen Ordner erstellen Sie einen weiteren Ordner, welchen Sie de (für Deutschland) nennen. Darin erstellen Sie wiederum einen Ordner und nennen selbigen helloworld. Zu guter Letzt erstellen Sie noch eine neue Datei mit dem Namen HelloWorld.java im letzten Unterordner (achten Sie bei der Benennung der Datei und Ordner auf Groß- und Kleinschreibung). Diese Datei sollten Sie jetzt mit einem beliebigen Texteditor öffnen, und folgenden Text hinein kopieren:

package de.helloworld;

public class HelloWorld {

  public static void main(String[] args) {
    System.out.println("Hallo Welt");
  }
}

Speichern Sie Ihr Werk jetzt ab. Sie haben soeben den Quellcode für Ihr erstes Java-Programm erstellt. Um das Programm zu starten, müssen Sie es zuvor kompilieren. Starten Sie hierfür erneut die Eingabeaufforderung und wechseln Sie in das HelloWorld-Verzeichnis, in welchem Ihr de-Ordner liegt.

In Windows wechseln Sie in der Eingabeaufforderung das aktuelle Verzeichnis mit dem Befehl cd Ordnername. Wenn Sie eine Ordnerebene zurück gehen wollen, so können Sie cd .. verwenden.

Kompilieren Sie jetzt das Programm mit dem javac-Befehl:

javac de/helloworld/HelloWorld.java

Der Java-Compiler hat nun Byte-Code aus ihrem Quellcode erstellt. Dieser Byte-Code wurde mit dem Namen HelloWorld.class im selben Verzeichnis gespeichert, wo auch HelloWorld.java liegt. Nun können Sie das Programm mit dem java-Befehl ausführen:

java de.helloworld.HelloWorld

Beachten Sie, dass Java case-sensitive ist. Das heißt, dass es sehr wohl einen Unterschied macht, ob Sie java de.helloworld.HelloWorld oder java de.helloworld.helloworld schreiben.

Wenn alles geklappt hat, sollten Sie jetzt die Ausgabe “Hallo Welt” in Ihrer Eingabeaufforderung sehen.

Im nächsten Artikel auf Java-Blog-Buch.de werden wir das soeben fertiggestellte Programm gemeinsam analysieren.

Übung

{ 11 } Comments

  1. Sebastian | 7. Mai 2009 um 03:05 | Permalink

    Ist es egal wo ich den ersten Ordner erstelle? zb unter Bilder oder direkt unter C: ?
    ich habe es so gemacht

    C:\Users\Sebastian\Java\Helloworld\de\helloworld

    und in letzten Ordner Textdatei HelloWorld.java

    dann den Text eingefügt

    package de.helloworld;   
    
    public class HelloWorld {   
    
      public static void main(String[] args) {
        System.out.println("Hallo Welt");
      }
    }

    und gespeichert und unter Eingabeauf…. ind Verzeichnis HelloWorld gewechselt( in dem Ordner liegr Ordner de)

    C:\Users\Sebastian\Java\Helloworld>

    wenn ich aber dann das engebe

    javac de/helloworld/HelloWorld.java

    kommt folgende Meldung
    javac: file not found: de\helloworld\HelloWorld.java
    Usage: javac
    use -help for a list of possible options

    jetzt bin ich müde und gehe schlafen :)
    Gruß

    Sebastian

  2. Stefan Kiesel | 7. Mai 2009 um 06:55 | Permalink

    Ja, das ist egal. Die Fehlermeldung besagt, dass javac die Datei nicht finden kann. Bist du dir sicher, dass die Datei bei dir nicht “HelloWorld.java.txt” oder so ähnlich heißt, sondern wirklich “HelloWorld.java”? Wenn du in Windows eine neue Textdatei anlegst, dann endet diese meistens auf “.txt”. Deshalb solltest du in den Ordneroptionen den Haken bei “Erweiterung bei bekannten Dateitypen ausblenden” deaktivieren. So siehst du die “wirkliche” Dateiendung.

    Alternativ kannst du in der Eingabeaufforderung auch noch zwei Ordner tiefer in das Verzeichnis wechseln, in welchem sich die “HelloWorld.java”-Datei befindet. Wenn du dort dann “dir” eingibst, bekommst du alle Dateien vollständig angezeigt.

    Falls deine Datei nicht “HelloWorld.java” sondern “HelloWorld.java.txt” heißt, musst du diese natürlich in “HelloWorld.java” umbennen.

  3. Sebastian | 7. Mai 2009 um 09:56 | Permalink

    Schon wieder hatest du Recht und es hat alles geklappt ::)

    Sebastian

  4. Niko | 4. Juni 2009 um 21:57 | Permalink

    Hallo!

    Bei mir kommt folgendes:

    Der Befehl “javac” ist entweder falsch geschrieben oder konnte nicht gefunden werden.
    Bin mir aber ziemlich sicher das ich im richtigen Ordner bin.

    Wäre für nen Tipp dankbar :)

  5. Stefan Kiesel | 4. Juni 2009 um 22:08 | Permalink

    Hallo Niko,

    das hat mit dem Ordner erstmal nichts zu tun. Das bin-Verzeichnis des JDKs muss in die PATH-Variable mit aufgenommen werden. Siehe hierzu auch Kapitel 01.03 Java installieren bzw. die mittlerweile ausführlichen Kommentare zu diesem Kapitel.

    Gruß
    Stefan

  6. Hanz | 26. Juli 2009 um 15:37 | Permalink

    Vielleicht ist es noch interessant, darauf hinzuweisen, das man auf die Groß- und Kleinschreibung achten sollte. Ich habe gerade ca. 30 Minuten rumprobiert bis ich gemerkt habe, das man “java de.helloworld.HelloWorld”
    exact so schreiben muss, ich hatte es immer mit “java de.helloworld.helloworld” probiert und mich über die Fehlermeldungen gewundert.

    Gruß Hanz

  7. Stefan Kiesel | 27. Juli 2009 um 07:01 | Permalink

    Hallo Hanz,

    ich werde den Artikel entsprechend ergänzen.

    Gruß
    Stefan

  8. Kilian | 30. Juli 2009 um 23:07 | Permalink

    Hallo,

    wenn ich das Programm ausführen möchte erscheint folgender Fehler:

    C:……\HelloWorld>java de.helloworld.HelloWorld
    Exception in thread “main” java.lang.NoClassDefFoundError: de/helloworld/HelloWo
    rld
    Caused by: java.lang.ClassNotFoundException: de.helloworld.HelloWorld
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClassInternal(Unknown Source)
    Could not find the main class: de.helloworld.HelloWorld. Program will exit.

    Ich finde den Fehler nicht. Kann mir vllt jemand weiter helfen?

  9. Stefan Kiesel | 31. Juli 2009 um 06:42 | Permalink

    Hallo Kilian,

    wenn ein Java-Programm mit Packages erstellt wird (de.helloworld), dann muss die Java-Datei auch genau in der Verzeichnisstruktur de/helloworld liegen. Um das Programm zu kompilieren, muss in der selben Ebene, wie das de-Verzeichnis liegt, der javac-Aufruf erfolgen. Nach der Kompilierung wird java ebenfalls auf der selben Ebene ausgeführt.

    Mir scheint es, als würdest du dich im letzten Unterverzeichnis (hellworld) und nicht im Verzeichnis, welches auch das de-Verzeichnis beinhaltet, befinden.

    Gruß
    Stefan

  10. Yannick Urbanski | 14. November 2009 um 23:59 | Permalink

    Hallo Leute,

    Ich hatte gerade das Problem das ich “Stunden lang” versucht habe dieses Hello World hin zu bekommen…Ich habe die Ordner und alles 3x gelöscht und wieder neu gemacht.

    Hinterher ist mir aufgefallen das im Quelltext der Ordnername (was im nächsten Kapitel steht) komplett klein geschieben wurde…Das war die Lösung des Probemes.

    Könnte ja der Autor wenn er das für Sinnvoll hält ergänzen, das man auf die groß und Kleinschreibeng schon bei den Ordnern achten muss ;)

  11. Stefan Kiesel | 16. November 2009 um 00:13 | Permalink

    Hallo Yannick,

    wird gemacht.

    Gruß
    Stefan

Kommentar verfassen

Dein E-Mail wird nicht veröffentlicht oder weitergegeben. Pflichtfelder sind mit * markiert.