首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >groovy NoClassDefFoundError

groovy NoClassDefFoundError
EN

Stack Overflow用户
提问于 2013-11-22 23:04:29
回答 1查看 4K关注 0票数 1

我对groovy非常陌生,我正在从书中试用这个示例。我有这个fibonacci.groovy程序,当我试图用java命令运行这个程序时,我得到了NoClassDefFound错误。

我在控制台中使用的命令是:

代码语言:javascript
复制
java -cp %GROOVY_HOME%/embeddable/groovy-all-2.2.0.jar;classes fibonacci

如您所见,我在类路径中提到了GROOVY_HOME,并设置了GROOVY_HOME变量。类路径变量没有被设置,所以我假设它有默认的‘’。值,以便在当前文件夹本身中找到。我做错了什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-11-23 12:03:37

你是不是错过了类路径中的当前文件夹?

我在Linux上,但是如果我用groovyc编译了一个Groovy类,然后尝试用java运行它,我需要告诉java我的groovy-all.jar在哪里,并将当前的dir添加到类路径中

因此,本汇编工作:

代码语言:javascript
复制
$ groovyc Fib.groovy

但是这次运行没有运行:

代码语言:javascript
复制
$ java -cp $GROOVY_HOME/embeddable/groovy-all-2.2.0.jar:classes Fib

当它缺少路径中的当前dir时:

代码语言:javascript
复制
$ java -cp $GROOVY_HOME/embeddable/groovy-all-2.2.0.jar:. Fib
test for fib

还请注意,如果fibonacci在包中,则需要键入该类的完整路径。因此,对于这个groovy源代码:

代码语言:javascript
复制
package up.foo
println "test for fib"

汇编:

代码语言:javascript
复制
$ groovyc Fib.groovy

我们编写完整的包路径来执行:

代码语言:javascript
复制
$ java -cp $GROOVY_HOME/embeddable/groovy-all-2.2.0.jar:. up.foo.Fib

这就是:

代码语言:javascript
复制
test for fib
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20156139

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档