2009-05-04 13 views

Respuesta

1

Al menos en Linux maravilloso GroovyConsole es un script tiene el siguiente comando:

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

startGroovy en sí es un script de Java que se inicia. Dentro del script startGroovy, debe poder modificar su classpath y agregar las bibliotecas que faltan.

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

En Linux también tiene

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

Aquí puede añadir sus bibliotecas específicas:

# 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 

creo que sirve, tuvo que buscar mucho tiempo para encontrar esto (:

6

Si solo desea agregar los JAR a la ruta de clase, cópielos (o váyase un enlace simbólico) a ~/.groovy/lib (o %USER_HOME%/.groovy/lib en Windows).

Si desea que las declaraciones reales import se ejecuten cada vez que se inicie Groovy Console, edite el archivo groovy-starter.conf como lo sugiere Squelsh.

2

Puede escribir un script Groovy externo que realice todas las importaciones, cree un objeto GroovyConsole y llame al método run() en este objeto.

Ver también http://groovy.codehaus.org/Groovy+Console#GroovyConsole-EmbeddingtheConsole

Por ejemplo: 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() 

Desde un shell script llamar al ejecutable maravilloso dotándola con el guión maravilloso:

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

El código en GroovyConsole ahora puede hacer uso de las importaciones realizadas en start.groovy, así como de las variables creadas y pasadas con el método setVariable ('service' en el ejemplo le).

Cuestiones relacionadas