Was macht die main Methode in Java?

Eine berechtigte Frage vieler Java-Neulinge ist: „Was macht die main-Methode in Java?„. Zum einen ist die main-Methode der Haupteinstiegspunkt der Anwendung (dort, wo es losgeht) und zum anderen ist die main-Methode in der Lage externe Parameter entgegen zu nehmen. Undzwar können aus *.java-Dateien ausführbare *.jar-Dateien erzeugt werden. Solche Dateien können dann von jedem System, das über eine JRE (Java Runtime Environment) verfügt, ausgefüht werden.

Eine JAR-Datei agiert dann in etwa so wie eine EXE-Datei unter Windows. Von EXE-Dateien ist bereits bekannt, dass diese mit einem Parameter aus der Kommandozeile (oder via Verknüpfung) gestartet werden können.

Beispiel: Winamp.exe

Der Kommandozeilen-Befehl "C:\Program Files (x86)\Winamp\winamp.exe" C:\datei.mp3 würde der Datei winamp.exe den Parameter C:\datei.mp3 übergeben und Winamp dazu veranlassen, sofort beim Start mit dem Abspielen dieser Datei zu beginnen. Eine Verknüpfung dafür könnte wie folgt aussehen:

Dafür, dass Winamp den Parameter C:\datei.mp3 auswerten kann, ist die main-Methode von Winamp zuständig. Nun ist Winamp zwar nicht in Java geschrieben, doch trotzdem ist das Prinzip in Java gleich. Um das zu verdeutlichen reicht ein einfaches Code-Beispiel:

Beispiel: Winamp.java

1
2
3
4
5
6
7
8
9
10
11
12
13
package de.bennyn.winamp;
 
public class MainMethod
{
	public static void main(String[] args)
	{
		String firstParameter = args[0];
 
		System.out.print("Currently playing: ");		
		System.out.print(firstParameter);
		System.out.println("");
	}
}

Das String-Array args enthält nämlich alle Werte, die wir unserer Java-Applikation von Außen übergeben. Damit wir unsere Applikation aber von Außen ansprechen können, müssen wir aus der *.java-Datei noch eine *.jar-Datei machen. In NetBeans geht das über die Funktion „Run – Clean and Build Main Project„. Danach befindet sich im „dist“-Ordner eures Projektes eine ausführbare *.jar-Datei, welche unter Windows in der Kommandozeile wie folgt aufgerufen werden kann:

1
java -jar C:\Users\bennyn\Desktop\Java\Projekte\Winamp\dist\Winamp.jar C:\datei.mp3

Das Ergebnis dieses Aufrufes ist:

1
Currently playing: C:\datei.mp3

Wir könnten natürlich auch mehrere Parameter übergeben. Beispiel:

1
java -jar C:\Users\bennyn\Desktop\Java\Projekte\Winamp\dist\Winamp.jar C:\datei1.mp3 C:\datei2.mp3 C:\datei3.mp3

Diese wären dann im Java-Programm über args[0], args[1] und args[2] erreichbar. Die Abkürzung args steht übrigens für „arguments“.

Wichtig:
Damit die JAR-Datei funktioniert, muss in NetBeans die richtige „Main Class“ in den „Project Properties“ angegeben werden. Diese wird beim Erstellen des Projektes zwar automatisch gesetzt, jedoch beim Umbenennen des Projektes nicht angepasst.

Screenshot:

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.