Der Befehl java

Aus FI-Wiki

Der Befehl java

Der Befehl java startet ein Java-Programm. Während javac den Quellcode kompiliert, führt java den erzeugten Bytecode aus (die *.class*-Dateien) über die Java Virtual Machine (JVM).

Aufgabe des Befehls java

  • lädt die JVM
  • sucht die angegebene Klasse
  • startet die main-Methode
  • führt den Bytecode aus

Ohne *.class*-Datei kann kein Java-Programm gestartet werden.

Syntax von java

Grundbefehl:

java Klassenname

Wichtig:

  • der Klassenname wird **ohne .class** angegeben
  • die Klasse muss eine gültige main-Methode besitzen

Beispiel

Kompilieren:

javac HelloWorld.java

Ausführen:

java HelloWorld

Ausgabe:

Hello World

Programme in Unterordnern ausführen (CLASSPATH)

Wenn die .class-Dateien in einem Ordner liegen:

java -cp out HelloWorld

Mehrere Ordner (Linux/macOS):

java -cp src:lib Main

Windows:

java -cp src;lib Main

Kommandozeilenargumente übergeben

Start:

java Main 42 Hallo

Im Java-Programm:

System.out.println(args[0]);  // 42
System.out.println(args[1]);  // Hallo

Häufige Fehler

Fehlermeldung Ursache
Could not find or load main class falscher Klassenname oder falscher Pfad
NoSuchMethodError: main main-Methode fehlt oder falsige Signatur
ClassNotFoundException CLASSPATH falsch gesetzt

Unterschied zwischen javac und java

Befehl Aufgabe
javac kompiliert Quellcode → erzeugt Bytecode (*.class*)
java führt Bytecode in der JVM aus

Kurz gesagt

  • javac erstellt die *.class*-Dateien
  • java führt diese Bytecode-Dateien aus
  • der Klassenname wird ohne Endung angegeben
  • die main-Methode ist der Startpunkt jedes Java-Programms