Comment charger automatiquement un fichier jar dans Groovy sans utiliser le commutateur -cp?
Question
Je souhaite simplifier l'exécution d'un script Groovy permettant d'appeler une base de données Oracle. Comment ajouter le fichier jar ojdbc au chemin de classe par défaut afin de pouvoir exécuter:
groovy RunScript.groovy
au lieu de:
groovy -cp ojdbc5.jar RunScript.groovy
La solution
Résumé tiré des recettes Groovy , par Scott Davis, Inclusion automatique des fichiers JAR dans le répertoire ./groovy/lib :
- Créez
.groovy / lib
dans votre répertoire de connexion -
Décommentez la ligne suivante dans $ {GROOVY_HOME} /conf/groovy-starter.conf
load! {user.home} /. groovy / lib / *. jar
-
Copiez les pots à inclure dans
.groovy / lib
Il semble que pour Groovy 1.5 ou version ultérieure, vous obtenez cela par défaut (inutile de modifier la conf), il suffit de déposer les fichiers JAR dans le répertoire / lib.
Autres conseils
Il y a plusieurs façons de le faire. Vous pouvez ajouter le fichier jar à la variable CLASSPATH de votre système. Vous pouvez créer un répertoire appelé .groovy / lib dans votre répertoire personnel et y placer le fichier jar. Il sera automatiquement ajouté à votre chemin de classe au moment de l'exécution. Ou, vous pouvez le faire dans le code:
this.class.classLoader.rootLoader.addURL(new URL("file:///path to file"))
groovy
est simplement un script de wrapper pour le fichier JAR Groovy qui configure le chemin de classe Java. Vous pouvez également modifier ce script pour ajouter le chemin d'accès à votre propre fichier JAR.
Vous pouvez ajouter le shebang à la première ligne de votre script Groovy. :
#!/usr/bin/env groovy -cp ojdbc5.jar
Ensuite, marquez l'exécutable du script:
chmod u+x RunScript.groovy
Maintenant, l’exécution du script par lui-même définira automatiquement le chemin de classe.
./RunScript.groovy