Как запустить сценарии Groovy как Java, из командной строки? - программирование
Подтвердить что ты не робот

Как запустить сценарии 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

Что мне не хватает?

4b9b3361

Ответ 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