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
Using the interactive console
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 see how to add things to the classpath see below.
Running Groovy scripts from your IDE
There is a helper class called
GroovyShellwhich 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.
Running Groovy scripts from the command line
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]
If you are using Groovy built from CVS Head (after Beta-5, see below if you want to upgrade), apart from Groovy scripts, you may also now run different kind of classes from the command-line.
- Classes with a main method of course,
- Classes extending GroovyTestCase are run with JUnit's test runner,
- Classes implementing the Runnable interface are instanciated either with a constructor with String[] as argument, or with a no-args constructor, then their run() method is called.
To work from the latest and greatest Groovy see Building Groovy from Source. Once built 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.
Creating Unix scripts with Groovy
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.
The following is a sample script which is
in CVS. Save it as helloWorld.groovy.
#!/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
Adding things to the classpath
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
- add things to your CLASSPATH environment variable
- pass -classpath (or -cp) into the command you used to create the shell or run the script
- It's also possible to create a ~/.groovy/lib directory and add whatever jars you need in there.






