Как запустить сценарии Groovy как Java, из командной строки?
Я пытаюсь использовать groovyc, но что-то не так:
>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
Что мне не хватает?
Ответы
Ответ 1
Когда вы указываете путь к классам с помощью переключателя -cp
, его значение по умолчанию (текущий каталог) перезаписывается, и поэтому JVM не может найти ваш класс.
Добавить текущий каталог в classpath, и все работает:
>java -cp C:\utils\groovy-1.8.1\embeddable\groovy-all-1.8.1.jar;. test
Hello, world
Ответ 2
Убедитесь, что если вы используете систему на основе unix (Linux или Mac), вам понадобится двоеточие вместо точки с запятой для разделителя записей в classpath:
>java -cp /path/to/groovy/embeddable/groovy-all-1.8.1.jar:. test
Hello, world
Ответ 3
не уверены, что эти фрагменты будут работать, поскольку класс с основным методом пропущен.
Правильная строка команд:
java -cp /path/to/groovy/embeddable/groovy-all-1.8.1.jar groovy.lang.GroovyShell test.groovy