È possibile scrivere uno script Groovy esterno che esegue tutte le importazioni, crea un oggetto GroovyConsole e chiama il metodo run() su questo oggetto.
Vedi anche http://groovy.codehaus.org/Groovy+Console#GroovyConsole-EmbeddingtheConsole
Ad esempio: start.groovy
import groovy.ui.Console;
import com.botkop.service.*
import com.botkop.service.groovy.*
def env = System.getenv()
def service = new ServiceWrapper(
userName:env.userName,
password:env.password,
host:env.host,
port:new Integer(env.port))
service.connect()
Console console = new Console()
console.setVariable("service", service)
console.run()
Da uno script chiamare l'eseguibile scanalato fornendo con lo script scanalato:
#!/bin/bash
if [ $# -ne 4 ]
then
echo "usage: $0 userName password host port"
exit 10
fi
export userName=$1
export password=$2
export host=$3
export port=$4
export PATH=~/apps/groovy/bin:/usr/bin:$PATH
export CLASSPATH=$(find lib -name '*.jar' | tr '\n' ':')
groovy start.groovy
Il codice in GroovyConsole ora può fare uso delle importazioni fatte in start.groovy, così come delle variabili create e passate con il metodo setVariable ('servizio' nell'esempio le).