Dienstag, April 19, 2011

Clojure per Kommandozeile in Windows: CLASSPATH-Setting

Möchte man die Clojure-REPL interaktiv unter Windows nutzen, helfen gut gesetzte Umgebungsvariablen und ein einzeiliges Batch-File ungemein. Schmerzfrei wird der Dialog mit Clojure aber erst dann, wenn der CLASSPATH der JVM auf die nötigen jar-Files gesetzt ist. Ist auch das Verzeichnis der interaktiven Konsolen-Session dabei, funktioniert auch z.B. ein load-Aufruf aus Clojure heraus, um die dort befindlichen clj-Dateien zu laden.

Der folgende Einzeiler ruft die Clojure-REPL auf. Die Umgebungsvariable PATH muss das Verzeichnis mit java.exe beinhalten, die Umgebungsvariable CLOJURE sei auf das aktuelle Clojure-Verzeichnis gesetzt:

java -cp %CLOJURE%\*;*; clojure.main %1 %2 %3 %4 %5 %6 %7 %8

Zur Erläuterung: Das Wildcardzeichen "*" sorgt dafür, dass alle jar-Files im CLOJURE-Verzeichnis in den CLASSPATH aufgenommen werden, ebenso wie mit dem zweiten Wildcard "*" alle jar-Files im aktuellen Verzeichnis. Hinweis: Ohne das Semikolon als abschließendes Trennzeichen funktioniert das Wildcard-Zeichen nicht.