Groovy scripts are a number of statements and class declarations in a text file. Groovy scripts can be used similarly to other scripting languages. There are various ways of running Groovy scripts

Groovy has a Swing interactive console that allows you to type in commmands and execute them rather like using an SQL query tool. History is available and such like so you can move forwards and backwards through commands etc.

If you install a binary distribution of Groovy then you can run the Groovy Swing console by typing this on the command line.

groovyConsole

For a command line interactive shell type

groovysh

To run the Swing Groovy console from a source distribution type...

maven console

To see how to add things to the classpath see below

There is a helper class called GroovyShell which has a main(String) method for running any Groovy script. You can run any groovy script as follows

java groovy.lang.GroovyShell foo/MyScript.groovy [arguments]

You can then run the above Groovy main() in your IDE to run or debug any Groovy script.

There are shell scripts called 'groovy' or 'groovy.bat' depending on your platform which is part of the Groovy runtime. Once the runtime is installed you can just run groovy like any other script...

groovy foo/MyScript.groovy [arguments]

To work from the latest and greatest Groovy, do a cvs checkout and then type

maven groovy:make-install

You'll then have a full binary distribution made for you in groovy/target/install. You can then add groovy/target/install/bin to your path and you can then run groovy scripts easily from the command line.

To see how to add things to the classpath see below

You can write unix scripts with Groovy and execute them directly on the command line as if they were normal unix shell scripts. Providing you have installed the Groovy binary distribution (see above) and 'groovy' is on your PATH then the following should work. There now follows a sample script which is in CVS . Save it as helloWorld.

#!/usr/bin/env groovy
println("Hello world")
for (a in this.args) {
  println("Argument: " + a)
}

Then to run the script from the command line, just make sure the script is executable then you can call it

chmod +x helloWorld
./helloWorld

When running command line scripts or interactive shells you might want to add things to your classpath such as JDBC drivers or JMS implementations etc. Do do this you have a few choices

  • create a ~/.groovy/lib directory and add whatever jars you like there
  • add things to your CLASSPATH environment variable
  • pass -classpath (or -cp) into the command you used to create the shell or run the script