2013-11-22 11 views
1

Я очень новичок в groovy, и я пробовал этот пример из книги Groovy в книге действий. У меня есть эта программа fibonacci.groovy, и при попытке запустить программу с помощью java-команды я получаю ошибку NoClassDefFound.groovy NoClassDefFoundError

Команда Я использую в консоли:

java -cp %GROOVY_HOME%/embeddable/groovy-all-2.2.0.jar;classes fibonacci 

Как вы можете видеть, я упомянул заводной-всю банку в пути к классам, и я установить переменную GROOVY_HOME. Переменная classpath не установлена, поэтому я предполагаю, что она имеет значение по умолчанию. значение для поиска в текущей папке. Что я делаю не так?

+0

У вас скомпилирован 'fibonacci.groovy' с groovyc? Скажет ли вам, чтобы вы пошли по этому маршруту в книге? Я полагаю, что 'groovy fibonacci.groovy' работает? –

+0

Да, я скомпилировал его с groovyc, и файлы классов были созданы отлично. И да, groovy fibonacci.groovy works – NanoNi

+0

Каково фактическое полное сообщение об ошибке? –

ответ

1

Вам не хватает текущей папки в пути к классам?

Я на Linux, но если я скомпилировать Groovy класс с groovyc, а затем попытаться запустить его с java, я должен сказать, Java, где мой groovy-all.jar, а также добавить текущую директорию в путь к классам

Таким образом, этот сборник работ:

$ groovyc Fib.groovy 

Но этот запуск не бежит:

$ java -cp $GROOVY_HOME/embeddable/groovy-all-2.2.0.jar:classes Fib 

Как это хватает пса аренда реж в пути:

$ java -cp $GROOVY_HOME/embeddable/groovy-all-2.2.0.jar:. Fib 
test for fib 

отметить также, что если fibonacci находится в пакете, вам необходимо ввести полный путь к классу. Так что для этого заводного источника:

package up.foo 
println "test for fib" 

Compile:

$ groovyc Fib.groovy 

Мы пишем полный путь пакета для выполнения:

$ java -cp $GROOVY_HOME/embeddable/groovy-all-2.2.0.jar:. up.foo.Fib 

Там он:

test for fib 
+0

Не имеет значения по умолчанию classpath '.' учитывать текущую папку? Я находится в каталоге, где этот класс присутствует при выполнении этой команды. Будет ли этого недостаточно? – NanoNi

+0

Кстати, это сработало. Большое спасибо ! – NanoNi

Смежные вопросы