Programmieren mit Java

In diesem Kapitel zeige ich euch, wie ihr auf eurem Rechner ein bzw. auch zwei Java Development Kit(s) installiert und ein erstes kleines Java-Programm zum laufen bringt.

Um Java-Programme kompilieren und ausführen zu können, benötigt ihr ein Java Development Kit (JDK). in diesem JDK ist alles dabei, um ein Java-Programm zu kompilieren, zu einem JAR-Archiv zu packen und auszuführen. Sobald ihr ein JDK auf euren Rechner installiert habt, könnt ihr im Prinzip schon loslegen und Java-Programme zu schreiben. Alles was ihr dazu braucht ist die Kommandozeile und ein Texteditor.

Ladet euch zunächst das  JAVA-SDK für Eclipse von der Oracle-Seite herunter. Zu dem Zeitpunkt an dem ich dieses Tutorial erstellt habe, war JAVA 8 die aktuelle Version: Java SE Development Kit 8u101. JAVA SE steht für die JAVA Standard-Edition, die für die Programmierung von Programmen für den EV3 vollkommen ausreicht.

Nach dem Ausführen des Installations-Programm des JAVA-SDKs könnt ihr eine Kommando-Zeile öffnen und die Version der Java-Version abfragen. Mit dem unten stehenden Kommando, wird die zuletzt installierte Version des Java SDKs angezeigt. Unter OS/X auf dem MAC befinden sich die JAVA-Installationen im Verzeichnis /Library/Java/JavaVirtualMachines. 

javac -version

Wollt ihr eine bestimmte Version des JAVA-SDKs verwenden, geht das unter OS/X so:

/usr/libexec/java_home -v 1.8 --exec javac -version

Unter Windows müsst ihr die Windows-Umgebung-Variable PATH oder JAVA_HOME anpassen.

Nach der Installation des JAVA-SDKs könnt ihr bereits euer erstes JAVA-Programme entwickeln. Das Beispiel liest die JAVA-Runtime-Version, unter der es läuft aus und gibt sie in der Konsole aus. Danach gibt es noch den obligatorischen Test Hello World aus.

Öffnet einen beliebigen Text-Editor (z.B. nano im Terminal-Programm von OS/X und tippt folgendes ein:

public class HelloWorld {
   public static void main(String[] args) {
      String jre = System.getProperty("java.specification.version");
      System.out.println("Java Version: " + jre);
      System.out.println("Hello, World");
   }
}

Speichert das Programm dann unter dem Namen HelloWorld.java.

Nun könnt ihr das Programm mit dem Java-Compiler kompilieren:

javac HelloWorld.java

Der Compiler hat nun eine Datei mit dem Namen HelloWorld.class erzeugt. Dieses Programm könnt ihr nun ausführen:

java HelloWorld.java

Um Java-Programme für den EV3 zu entwickeln genügt im Prinzip ein einfacher Text-Editor und ein JAVA-SDK mit Java-Compiler. Damit könnt ihr in einem Text-Editor euer Java-Programm schreiben und mit dem JAVA-Compiler auf der Kommandozeile übersetzen.

Um allerdings ein Programm auf dem EV3 auszuführen, muss euer Java-Programm zusammen mit den Klassen von leJOS oder der EV3JLIB zu einem ausführbaren JAR-Archiv gepackt werden. Im JAVA-SDK ist ebenfalls das Tool jar enthalten, welches ihr von der Kommandozeile aufrufen könnt. Dem Programm müsst ihr dann eure kompilierte Java-Klassen, eine Manifest-Datei und alle zusätzlich benötigten Bibliotheken (auch wieder JAR-Archive) von leJOS oder EV3JLIB übergeben, die in das zu erzeugende JAR-Archiv aufgenommen werden sollen. Das wird aber bei größeren Programmen schnell unübersichtlich und macht keinen Spaß.

Um das Erzeugen der JAR-Archive zu erleichtern, könnt ihr auch sogenannte Build-Tools, wie z.B. ANT oder MAVEN, verwenden. Diese Tools erleichtern das Erstellen der ausführbaren Archive.

Leichter entwickelt es sich mit einer komfortablen Entwicklungsumgebung, wie z.B. Eclipse. Diese Entwicklungsumgebung unterstützt euch schon beim schreiben eures Programm-Codes. Ihr erkennt sofort Fehler beim eingeben und die Build-Tools zum Erzeugen der ausführbaren Archive sind auch schon enthalten.

Bevor wir Eclipse installieren und für leJOS konfigurieren, erzeugen wir in einem ersten Schritt ein Image für die SDCard, damit der EV3-Brick das neue Betriebsystem leJOS auch starten kann und wir mit der Java-Programmierung beginnen können.

Installation eines zusätzlichen JAVA 1.7 SDK

Die aktuelle Version von leJOS (0.9.1 beta) funktioniert nur mit Java 1.7. D.h. ihr müsst eure Java-Programme für den EV3 auch mit Java 1.7 kompilieren. Um eure EV3-Programme mit JAVA 1.7 zu kompilieren müsst ihr dem Compiler beim kompilieren mitteilen, dass er für JAVA 1.7 kompilieren soll, falls ihr ein JDK größer als 1.8 installiert habt. Das geht entweder über Kommandozeilen-Parameter oder, wie im nächsten Kapitel gezeigt, einfach in Eclipse.

Eine weitere Möglichkeit ist, dass ihr euch zusätzlich ein älteres JAVA 1.7 SDK auf eurem Rechner installiert. Damit Eclipse später auch die aktuelle Version von  Java verwendet, solltet ihr in diesem Fall zuerst die Version 1.7 installieren und danach die aktuellste Version des JAVA SDK’s. In Eclipse könnt ihr dann später die Version 1.7 des SDK als Option hinzufügen und euere EV3-Programme damit kompilieren lassen.

Das Problem mit dem Java SDK 1.7 ist jedoch, das Oracle die Unterstützung und auch die Möglichkeit des Downloads seit April 2015 eingestellt hat. Allerdings konnte ich das SDK über diesen Link noch herunterladen:  Java SE Development Kit 7u79.

Um zu prüfen, ob beide SDK’s korrekt installiert sind, könnt ihr folgende Befehle ausführen:

javac -version

Hier sollte dann die aktuellste JAVA-Version als ausgegeben werden. Und danach:

/usr/libexec/java_home -v 1.7 --exec javac -version

Hier sollte dann die Version 1.7 des SDK’s ausgegeben werden.

 javac 1.7.0_79

Weiter geht’s mit der Installation des neuen Betriebssystems für den EV3.