¿Cómo puedo cargar automáticamente un archivo jar de la base de datos en Groovy sin usar el interruptor -cp?

StackOverflow https://stackoverflow.com/questions/254385

Pregunta

Quiero simplificar mi ejecución de un script Groovy que realiza llamadas a una base de datos Oracle. ¿Cómo agrego el jar ojdbc a la ruta de clase predeterminada para poder ejecutar:

groovy RunScript.groovy

en lugar de:

groovy -cp ojdbc5.jar RunScript.groovy
¿Fue útil?

Solución

Resumido de Groovy Recipes , por Scott Davis, Incluyendo JAR automáticamente en el directorio ./groovy/lib :

  1. Cree .groovy / lib en su directorio de inicio de sesión
  2. Descomenta la siguiente línea en $ {GROOVY_HOME} /conf/groovy-starter.conf

    load! {user.home} /. groovy / lib / *. jar

  3. Copie los frascos que desea incluir en .groovy/lib

Parece que para Groovy 1.5 o posterior obtienes esto de forma predeterminada (no es necesario editar la configuración), simplemente coloca los archivos en el directorio / lib.

Otros consejos

Hay algunas maneras de hacerlo. Puedes agregar el jar a la variable CLASSPATH de tu sistema. Puede crear un directorio llamado .groovy / lib en su directorio de inicio y colocar el jar allí. Se agregará automáticamente a su classpath en el tiempo de ejecución. O bien, puede hacerlo en código:

this.class.classLoader.rootLoader.addURL(new URL("file:///path to file"))

groovy es solo un script de envoltorio para el Groovy JAR que configura el classpath de Java. Podrías modificar ese script para agregar la ruta a tu propio JAR, supongo.

Puedes agregar lo siguiente shebang a la primera línea de tu script Groovy :

#!/usr/bin/env groovy -cp ojdbc5.jar

Luego, marque el script ejecutable:

chmod u+x RunScript.groovy

Ahora, ejecutar el script por sí mismo establecerá la ruta de clase automáticamente.

./RunScript.groovy
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top