我对groovy非常陌生,我正在从书中试用这个示例。我有这个fibonacci.groovy程序,当我试图用java命令运行这个程序时,我得到了NoClassDefFound错误。
我在控制台中使用的命令是:
java -cp %GROOVY_HOME%/embeddable/groovy-all-2.2.0.jar;classes fibonacci如您所见,我在类路径中提到了GROOVY_HOME,并设置了GROOVY_HOME变量。类路径变量没有被设置,所以我假设它有默认的‘’。值,以便在当前文件夹本身中找到。我做错了什么?
发布于 2013-11-23 12:03:37
你是不是错过了类路径中的当前文件夹?
我在Linux上,但是如果我用groovyc编译了一个Groovy类,然后尝试用java运行它,我需要告诉java我的groovy-all.jar在哪里,并将当前的dir添加到类路径中
因此,本汇编工作:
$ groovyc Fib.groovy但是这次运行没有运行:
$ java -cp $GROOVY_HOME/embeddable/groovy-all-2.2.0.jar:classes Fib当它缺少路径中的当前dir时:
$ java -cp $GROOVY_HOME/embeddable/groovy-all-2.2.0.jar:. Fib
test for fib还请注意,如果fibonacci在包中,则需要键入该类的完整路径。因此,对于这个groovy源代码:
package up.foo
println "test for fib"汇编:
$ groovyc Fib.groovy我们编写完整的包路径来执行:
$ java -cp $GROOVY_HOME/embeddable/groovy-all-2.2.0.jar:. up.foo.Fib这就是:
test for fibhttps://stackoverflow.com/questions/20156139
复制相似问题