Projektverwaltung und Versionserstellung

Nach dem ich im letzten Artikel festgestellt habe, dass das Übersetzen und Kopieren in dieser Form umständlich ist habe ich einen automatischen Weg gesucht und gefunden – das ANT-Tool.

Weiterhin habe ich das Test/Beispielprojekt auf github.com bereitgestellt.

Zurück zu Einführung

Github

github.com ermöglicht  die kostenlose Versionsverwaltung von Projekten für das git-Tool .  Eine schöne Einführung zum Thema git hat Sujeevan Vijayakumaran in seinem Blog erstellt, siehe Artikel.

Das Beispielprojekt ist unter dem Name jPiBaseTest zu finden und lässt sich mit git clone https://github.com/git4gecko/jPiBaseTest.git einfachen clonen (herunter laden).

ANT-Tool

Das ANT-Tool verwende ich für das kompilieren, die Erstellung einer JAR-Datei mit den JAVA-Klassen und das Kopieren vom Entwicklungsrechner auf den Zielrechner (RPI).  Die build-Datei für ANT liegt im Hauptverzeichnis des Projektes.

ANT einbinden

Unter dem Menüpunkt Window/Show View/Ant wird in Eclipse eine Sicht für das ANT-Tool hinzugefügt. In dieser Sicht gibt es die Schaltfläche Add Buildfiles (Plus-Symbol mit Ameise), hierüber kann die oben erwähnte build-Datei hinzugefügt werden.  Eclipse sollte jetzt so aussehen:

Eclipse mit Ant, Ansicht und build-Datei
Eclipse mit Ant, Ansicht und build-Datei

Die wichtigsten Tasks/Aufgaben sind:

  • compile: Übersetzen der JAVA-Quellen
  • version: Erstellen der Version (jar), für das Zielsystem (RPI)
  • deploy: Kopieren der Version (jar) auf das Zielsystem (RPI)
  • clean: Aufräumen

deploy

Eine Besonderheit stellt die deploy-Task/Aufgabe dar. Mit der Standardinstallation lässt sich diese nicht ausführen. Hier der entsprechende Auszug aus der build.xml:

<target name="deploy" depends="version" description="copy files" >
<scp file="${version}/lib/baseTest.jar"
todir="pi@wetterstation:/home/pi/jPiBaseTest"
keyfile="${user.home}/.ssh/biggecko"
/>
</target>

Für das scp-Kommando muss die  externe Bibliothek  JSch  eingebunden werden. Diese Bibliothek ist unter http://www.jcraft.com/jsch zu finden. Die notwendige jar-Datei sch-0.1.51.jar wird in das bereits vorhandene lib-Verzeichnis kopiert (siehe vorherige Abbildung).

Über den Eclipse-Menüpunkt Run/External Tools/Run Configurations wird die unter dem Reiter classpath die jar-Datei hinzugefügt, siehe folgende Abbildung:

jar-Datei Ant hinzufügen
jar-Datei Ant hinzufügen

Eine kurze Anmerkung zu den Attributen des scp-Kommandos:  Damit das Kennwort nicht angegeben werden muss wird eine Schlüsseldatei biggecko (ssh) verwendet, eine Einführung über ssh ist unter http://wiki.ubuntuusers.de/SSH zu finden.

Wenn alles richtig konfiguriert ist, reicht ein Doppelklick auf deploy und die jar-Datei ist auf dem Zielsystem (siehe todir=“…“) kopiert worden.

Start von HelloWorld und TestLED

Die beiden Programme werden wie folgt auf dem RPI aufgerufen:

java -cp ./baseTest.jar de.us.rpi.basetest.HelloWorld
sudo java -cp ./baseTest.jar:/opt/pi4j/lib/* de.us.rpi.basetest.TestLED

Weiter: Temperatur mit DS18B20
Zurück zu Einführung