Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 5.3

...

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

Code Block
none
none

groovyConsole

For a command line interactive shell type

Code Block
none
none

groovysh

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

Code Block
none
none

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

...

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...

Code Block
none
none

groovy foo/MyScript.groovy [arguments]

...

The following is a sample script, which you should copy and save as helloWorld.groovy.

Code Block
none
none

#!/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.

Code Block
none
none

chmod +x helloWorld
./helloWorld

Anchor
classpath
classpath

Note that you will not be able to provided any arguments to groovy when running with the shebang(#!) on Linux because the arguments are treated as part of the name of the command to run. Mac OS X will interpret additional arguments correctly.

Adding things to the classpath

...

To increase the amount of memory allocated to your groovy scripts, set your JAVA_OPTS environment variable. JAVA_OPTS="-Xmx..."

Avoiding PermGen out of memory

Groovy creates classes dynamically, but the default Java VM does not GC the PermGen. If you are using Java 6 or later, add -XX:+CMSClassUnloadingEnabled -XX:+UseConcMarkSweepGC. UseConcMarkSweepGC is needed to enable CMSClassUnloadingEnabled.


Groovy and the Cloud

Groovy can run anywhere the JVM runs - including many cloud platforms, likewise, continuous integration is just as easy. You can kick the tyres at CloudBees for hosting your groovy app, this quick start will get you going (with the correct settings and permgen):

Image Added

This will setup a CI job (running tests and build, in Jenkins) and deploy the "pet store" app that uses the grails "pet store" demo app (you can use it for free). Prefer to set it up yourself, read here for details.