Was ist Groovy?Groovy ist eine junge Skriptsprache für die Java Virtual Machine. Mit Groovy ist es möglich in einer Java-ähnlichen Syntax zu skripten, ohne auf die Java-Klassenbibliotheken zu verzichten. Zusätzlich bietet Groovy viele Elemente aus anderen Skriptsprachen wie Python. Eines der Hauptziele von Groovy ist es, Vereinfachungen für den Programmierer zu bieten, welche die Entwicklungszeit im Gegensatz zu Java verkürzen sollen.InstallationUm in Groovy zu programmieren benötigt man lediglich Java. Das Groovy-Archiv enthält im Wesentlichen eine Jar-Datei, welche man zum CLASSPATH hinzufügen muss. Außerdem müssen noch einige Umgebungsvariablen angepasst werden. Groovy benötigt Java in der Version 1.4 oder höher.
Alle Beispiele und Aussagen beziehen sich auf die folgende
KompilierungEs ist möglich Groovy-Code zu interpretieren oder zu kompilieren. Beim Kompilieren werden durch das Kommandogroovyc FILENAME eine Java 1.4-konforme
Datei
FILENAME.class erzeugt. Es ist dann möglich die darin
enthaltene Klasse aus Java-Code zu nutzen oder, falls es sich um
ein ausführebares Skript handelt, direkt mit java
FILENAME auszuführen.
Interpretation
Groovy wäre aber keine Skriptsprache, wenn man den Quellcode
nicht direkt ausführen könnte. Dies ist mit dem Kommando
Um einige wenige Anweisungen auszuführen, kann das
Programm Hello WorldAls erste Annäherung kann man behaupten, jede gültige Java-Datei läuft auch mit Groovy. Zumindest für das klassische Hello-World Programm gilt dies:class Hello { public static void main(String[] args) { System.out.println("hello world in java"); } }Den selben Effekt erhält man mit Groovy aber einfacher: #!/usr/bin/env groovy println "Hello World in groovy"Das Beispiel zeigt, dass in Groovy nicht alles in einer Klasse verpackt werden muss. Globaler Code wird so behandelt, als ob er in einer main -Methode eine Unterklasse
von Script stehen würde. Folgende Datei "DoubleMain"
ist daher ungültig und führt zu einer
Exception: class DoubleMain{ public static void main(String[] args) { println "echo" } } println "foo"Parameter können entweder im Java-Stil, das heisst mit runden Klammern und getrennt mit Kommata, oder im Groovy-Stil ohne Klammern und durch Leerzeichen getrennt angegeben werden. Auf die Kommandozeilenargumente kann man immer mit args
zugreifen, auch ohne Main-Klasse:
int i = 1; for(p in args) { println "${i}-tes argument: $p" i++; } Kurzer Vergleich mit Java
|