我有:简单的Groovy脚本:Hello.groovy
>cat Hello.groovy
println "Hello ${args[0]}, may Groovy be with you."
工作正常:
>groovy Hello "Luke Skywalker"
Hello Luke Skywalker, may Groovy be with you.
我在运行已编译的代码时遇到了麻烦。
>groovyc Hello.groovy
>java -cp %GROOVY_HOME%/embeddable/groovy-all-2.1.7.jar;. Hello "Luke Skywalker"
bash: Hello: No such file or directory
(我删除了也吐出的使用信息..)
是什么给出的?
以下是其他一些信息:
>uname -a
Linux adminuser-VirtualBox 3.8.0-31-generic #46-Ubuntu SMP Tue Sep 10 20:03:44 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux
>file /usr/lib/jvm/default-java/jre/bin/java
/usr/lib/jvm/default-java/jre/bin/java: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.24, BuildID[sha1]=0x498bbdda6cbaab7d2c671cf18d378c31021f9ea5, stripped
>groovy -v
Groovy Version: 2.1.7 JVM: 1.7.0_25 Vendor: Oracle Corporation OS: Linux
答案 0 :(得分:1)
你需要在类路径中使用冒号,而不是在问题中使用分号:
java -cp %GROOVY_HOME%/embeddable/groovy-all-2.1.7.jar:. Hello "Luke Skywalker"
使用分号,您正在运行两个命令:
java -cp %GROOVY_HOME%/embeddable/groovy-all-2.1.7.jar
其次是
. Hello "Luke Skywalker"
这一行导致了问题,因为bash无法找到名为Hello
的文件来源