Inhaltsverzeichnis

Jameica in Eclipse einrichten

Einleitung

Die folgende Anleitung beschreibt, wie du Jameica innerhalb der Eclipse Entwicklungsumgebung einrichten kannst.

Eclipse installieren

Eine aktuelle Version der Eclipse-Entwicklungsumgebung (SDK) für Java findest du auf http://www.eclipse.org/downloads/

Jameica per git importieren

Diese Beschreibung basiert auf Eclipse „Mars“: Wähle eine Version für „Java Developer“ incl. Git aus.

Weitere Eclipse-Projekte sind unter https://github.com/willuhn/ zu finden…

Zum Erstellen der ausführbaren Programme werden folgende Repositories benötigt:

Die folgenden Repositories sind optional, da die daraus erzeugten JAR-Dateien bereits in o.g. Hibiscus-Repository (im Ordner „lib“) enthalten sind:

BTW: Bei Verwendung von Eclipse Oomph kann alternativ auch folgende Oomph-Setup-URI zur Einrichtung verwendet werden:

Jameica und das Beispiel-Plugin herunterladen und importieren

Das Bild zeigt noch einen älteren Stand. In der Zwischenzeit hat sich die Namensgebung geändert und das Beispielprojekt heißt jameica.example.

Classpath anpassen

Launch-Konfiguration anlegen

Um Jameica innerhalb des Eclipse-Debuggers zu starten, lege eine neue Launch-Konfiguration über das Hauptmenü „Run»Debug…“ an. Sollte dieser Menüpunkt nicht existieren, vergewissere dich, dass die „Debug“-Perspektive aktiviert ist. Öffne diese ggf. manuell über „Window»Open Perspective»Other…“. Wähle nun linker Hand die Art der Launch-Konfiguration „Java Application“ und drücke den Button „New“ um eine neue Konfiguration anzulegen. Gib folgende Eigenschaften ein:

Parameter Wert
[Main] Project jameica
[Main] Main class de.willuhn.jameica.Main
[Arguments] Program arguments Linux: -f /home/<username>/jameica.test
Win32: -f „C:/Dokumente und Einstellungen/<username>/jameica.test“
MacOS: -f /Users/<username>/jameica.test

Mit dem Parameter “-f„ kann ein abweichendes Arbeitsverzeichnis für Jameica angegeben werden, um zu vermeiden, dass die Einstellungen deiner produktiven Hibiscus/Jameica-Installation geladen werden. Gib niemals ein Arbeitsverzeichnis an, welches sich innerhalb des Eclipse-Projektes befindet. Jameicas Security-Manager verweigert das Schreiben von Dateien im Programm-Verzeichnis, um Manipulationen durch Plugins zu verhindern. Der Start von Jameica würde in diesem Fall mit einer „SecurityException“ fehlschlagen. Zu Testzwecken kannst du einen zusätzlichen Parameter “-p <password>„ verwenden, wenn du nicht bei jedem Start im Debugger das Master-Passwort eingeben möchtest. Alle anderen Parameter belässt du auf den Original-Einstellungen.

Erster Start

Du solltest nun eine leere Jameica-Instanz ohne installierte Plugins sehen. Dieses Verhalten ist normal. In Jameica können beliebig viele Plugin-Verzeichnisse angegeben werden. Standardmässig ist dies jedoch nur das Verzeichnis „plugins“ innerhalb des Jameica-Projektes. Beende daher Jameica wieder und öffne die automatisch angelegte Konfigurations-Datei

Linux /home/<username>/jameica.test/cfg/de.willuhn.jameica.system.Config.properties
Win32 C:\Dokumente und Einstellungen\<username>\jameica.test\cfg\de.willuhn.jameica.system.Config.properties
MacOS /Users/<username>/jameica.test/cfg/de.willuhn.jameica.system.Config.properties

in einem Text-Editor. Füge eine neue Zeile des Parameters „jameica.plugin.dir“ mit der fortlaufenden Nummer „0“ ein (die Plugin-Verzeichnisse werden in der Reihenfolge der Nummerierung geladen) und gib als Verzeichnis “../jameica.example„ ein. Damit zeigt das Plugin-Verzeichnis direkt in das zugehörige Eclipse-Projekt.

jameica.plugin.dir.0=../jameica.example

Speichere die Datei ab und starte Jameica erneut in Eclipse. Beim Start-Vorgang durchsucht Jameica nun auch das Projekt-Verzeichnis des Beispiel-Plugins und wird im „bin“- Verzeichnis fündig (dort werden ja die Klassen des Plugins hinkompiliert). Du solltest nun ein Jameica-Fenster mit installiertem Beispiel-Plugin sehen.

Falls das Plugin-Projekt Compile-Fehler erzeugt, stelle sicher, dass die swt.jar im Jameica-Projekt in den Projekteinstellungen unter „Order & Export“ aktiviert ist, damit das Plugin auf die SWT-Klassen zugreifen kann.

Wie weiter?

Du kannst nun im Quellcode beliebig Breakpoints definieren und damit zeilenweise durch den Quellcode steppen oder ein eigenes Plugins nach analogem Aufbau zum Beispiel-Plugin erstellen.

Du kannst auch ein Release erzeugen, das ausserhalb von Eclipse benutzt werden kann. Klicke hierzu mit der rechten Maustaste auf die Datei „build/build.xml“ eines Projektes und wähle „Run As»Ant Build…“. Deaktiviere das Target „all“ und wähle stattdessen „fast“. Klicke „Run“ um das Erzeugen des Release zu starten. Ist das Script fehlerfrei durchgelaufen, klicke mit der rechten Maustaste im Navigator/Project Explorer auf das Projekt und wähle „Refresh“ um die Anzeige zu aktualisieren. Du solltest nun ein zusätzliches Verzeichnis „releases“ sehen, in dem sich das erzeugte Release befindet. Hinweis: Lösche erstellte Releases bitte wieder, wenn sie nicht mehr benötigt werden. Denn wenn der Eclipse-Projekt-Ordner gleichzeitig auch in „de.willuhn.jameica.system.Config.properties“ als Plugin-Verzeichnis registriert ist, würde Jameica beim nächsten Start nicht nur im „bin“-Verzeichnis das Plugin finden sondern zusätzlich auch in den Release-Verzeichnissen. Dies kann dazu führen, dass ein Plugin fälschlicherweise mehrfach geladen wird.

Aufruf von der Kommandozeile: Du kannst das Build-Script auch aus der Kommandozeile heraus aufrufen, wenn du Apache ANT installiert hast. Das Build-Script muss hierbei aus dem Ordner „build“ heraus aufgerufen werden (der Aufruf von „ant -f build/build.xml fast“ wird fehlschlagen).

cd build
ant fast

Hinweis: Das Skript build.xml geht davon aus, dass der Quellcode aus dem GIT-Repository gecloned wurde und versucht daher per Default (im Target „all“), den Code zu taggen. Dazu wird erwartet, dass das Kommandozeilenprogramm git verfügbar ist und Schreibzugriff auf dem GIT-Repository existiert. Nachdem dass bei den meisten nicht der Fall sollte für Testzwecke das Target „fast“ des Build-Scripts ausgeführt werden. Das überspringt das Taggen und erzeugt nur ein lokales Release.