Archiv für März 2010

Griffon: Mit einem “Flügelschlag” außer Gefecht gesetzt

Donnerstag, 04. März 2010

Es gibt ein Sprichwort: “Kleinchen heb die Beinchen jetzt kommen Steinchen”. So geschehen bei mir, als ich das erste Mal Griffon unter Windows ausprobieren wollte.

Es ließ sich Partout nicht starten und belegte mich mit der Meldung, dass meine “JAVA_HOME”-Variable auf ein invalides Verzeichnis verweisen würde. Leider konnte ich auf dem System nicht die JAVA_HOME direkt ändern, sondern musste diese in den Umgebungsvariablen des Benutzers “überschreiben”. Ist dann schon etwas unschön, aber gut – es ging erstmal ans Werk.

Nun ist man ja als alteingesessener Java-Entwickler daran gewöhnt, dass Pfade mit Leerzeichen nie gut ankommen. Also 1. Versuch: Leerzeichen entfernen – Kein Erfolg. Einmal ist keinmal, also nächster Versuch: Suchmaschine bemühen – wenig Erfolg.

Die Suche gab zwar nicht die vollständige Antwort, aber zumindest einen Anhaltspunkt. Der abschließende Backslash im Pfad könnte ein Problem sein. Zwar führte dieser Ansatz erstmal zu einem gewissen Erfolg, aber einfach mal eine Systemvariable überschreiben – auch wenn es nicht so große Unterschiede gab – fand ich nicht so “prickelnd”. Darum kam am Ende der Texteditor zum Einsatz, denn mir war aufgefallen, dass Groovy selbst z.B. keine Probleme mit dem Pfad hatte.

Und da war sie – die Lösung, die ich gesucht hatte:

@rem Remove trailing slash from JAVA_HOME if found
if "%JAVA_HOME:~-1%"=="\" SET JAVA_HOME=%JAVA_HOME:~0,-1%

Mit dieser Zeile wird einfach das abschließende Backslash entfernt. Diese Zeile in die startGriffon.bat unter :have_JAVA_HOME geschrieben und plötzlich funktioniert es auch mit dem Greif.

:have_JAVA_HOME
if "%JAVA_HOME:~-1%"=="\" SET JAVA_HOME=%JAVA_HOME:~0,-1%
@rem Validate JAVA_HOME
%COMMAND_COM% /C DIR "%JAVA_HOME%" 2>&1 | %FIND_EXE% /I /C "%JAVA_HOME%" >nul

Leider wurde das Problem auch in der aktuellen Version 0.3 nicht gefixt.