2009-05-04 8 views

Répondre

1

au moins sur Linux groovy GroovyConsole est un script a la commande suivante:

startGroovy groovy.ui.Console "[email protected]" 

startGroovy lui-même est un script qui démarre Java. Dans le script startGroovy, vous devriez pouvoir modifier votre chemin de classe et ajouter les bibliothèques manquantes.

De startGroovy:

startGroovy () { 
    CLASS=$1 
    shift 
    # Start the Profiler or the JVM 
    if $useprofiler ; then 
     runProfiler 
    else 
     exec "$JAVACMD" $JAVA_OPTS \ 
      -classpath "$STARTER_CLASSPATH" \ 
      -Dscript.name="$SCRIPT_PATH" \ 
      -Dprogram.name="$PROGNAME" \ 
      -Dgroovy.starter.conf="$GROOVY_CONF" \ 
      -Dgroovy.home="$GROOVY_HOME" \ 
      -Dtools.jar="$TOOLS_JAR" \ 
      $STARTER_MAIN_CLASS \ 
      --main $CLASS \ 
      --conf "$GROOVY_CONF" \ 
      --classpath "$CP" \ 
      "[email protected]" 
    fi 
8

Sous Linux, vous avez également

/usr/share/groovy/conf/groovy-starter.conf 

Vous pouvez ajouter vos libs spécifiques:

# load user specific libraries 
load !{user.home}/.groovy/lib/*.jar 
load /home/squelsh/src/neo4j-community-1.4.M03/lib/*.jar 
load /home/squelsh/src/neo4j-community-1.4.M03/system/lib/*.jar 

Hope it helps, a dû chercher longtemps pour trouver ceci (:

6

Si vous souhaitez simplement ajouter les fichiers JAR au chemin de classe, copiez-les (ou créez un lien symbolique) vers ~/.groovy/lib (ou %USER_HOME%/.groovy/lib sous Windows).

Si vous voulez que les instructions import soient exécutées à chaque démarrage de Groovy Console, éditez le fichier groovy-starter.conf comme suggéré par Squelsh.

2

Vous pouvez écrire un script Groovy externe qui effectue toutes les importations, crée un objet GroovyConsole et appelle la méthode run() sur cet objet.

Voir aussi http://groovy.codehaus.org/Groovy+Console#GroovyConsole-EmbeddingtheConsole

Par exemple: 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() 

A partir d'un script shell appeler l'exécutable groovy lui fournissant le script groovy:

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

Le code GroovyConsole peut désormais utiliser les imports effectués dans start.groovy, ainsi que les variables créées et passées avec la méthode setVariable ('service' dans l'examp le).