Question Comment exécuter des scripts Groovy en Java, à partir de la ligne de commande?


J'essaie d'utiliser groovyc, mais quelque chose ne va pas:

>echo println("Hello world") > test.groovy
>groovy test.groovy
Hello world
>groovyc test.groovy
>java -cp C:\utils\groovy-1.8.1\embeddable\groovy-all-1.8.1.jar test
Error: Could not find or load main class test

>dir test.class
...

11/10/2011  02:54 PM             7,104 test.class

Qu'est-ce que je rate?


16
2017-11-10 12:57


origine


Réponses:


Lorsque vous spécifiez le classpath avec -cp switch, sa valeur par défaut (répertoire courant) est écrasée et la JVM ne peut donc pas trouver votre classe.

Ajoutez le répertoire actuel à classpath et tout fonctionne:

>java -cp C:\utils\groovy-1.8.1\embeddable\groovy-all-1.8.1.jar;. test
Hello, world

17
2017-11-10 13:02



Assurez-vous que si vous utilisez un système basé sur unix (Linux ou Mac), vous avez besoin de deux-points au lieu d'un point-virgule pour le séparateur d'entrées de classpath:

>java -cp /path/to/groovy/embeddable/groovy-all-1.8.1.jar:. test
Hello, world

8
2017-11-13 15:55



Je ne suis pas sûr que ces extraits fonctionneront, car la méthode avec la méthode principale est manquée. La ligne de commande appropriée est:

java -cp /path/to/groovy/embeddable/groovy-all-1.8.1.jar groovy.lang.GroovyShell test.groovy

4