2010-12-08 81 views
1

J'essaie d'intégrer groovy dans mon application et j'ai un problème avec les importations. Je souhaite diviser les scripts en plusieurs fichiers et/ou modules. Disons que je veux avoir quelques Utilities.groovy avec Utilities classe remplie de fonctions statiques. Maintenant, je crée un fichier de script principal main.groovy qui ressemble à ceci:Embedded Groovy - chargement de scripts à partir du script principal

import static Utilities.* 
Utilities.someMethod() 

Ensuite, j'essaie de l'exécuter avec:

GroovyShell shell = new GroovyShell(initGroovyBinding()); 
shell.run("F:\\ull\path\\to\\main.groovy", new String[0]); 

Et je reçois une erreur: unable to resolve class Utilities

Qu'est-ce que je fais faux? Merci d'avance.

+0

Où se trouve 'Utilities.groovy'? –

+0

@tim_yates Près du fichier main.groovy. – bezmax

Répondre

0

Résolu mon problème. GroovyShell ne gère en aucun cas les importations de fichiers. Cependant, GroovyScriptEngine fait. GroovyScriptEngine fait tout ce que GroovyShell peut faire et gère toutes les dépendances de classes.

0

Il semble qu'il vous manque le paquet. En fonction de votre exemple, vous essayez d'importer des utilitaires à partir du package par défaut.

+0

Utilities est dans le même répertoire que main.groovy. Les deux fichiers utilisent le package par défaut. – bezmax