Oli*_*ent 13 groovy command-line package
有没有办法通过使用点指定包来执行Groovy类,就像使用java一样?
示例:文件./my/package/MyClass.groovy:
package my.package
class MyClass {
static void main(String[] args) {
println "ok"
}
}
Run Code Online (Sandbox Code Playgroud)
> cd my/package my/package> groovy MyClass ok > cd ../.. > groovy my/package/MyClass.groovy ok > groovy my/package/MyClass ok > groovy my.package.MyClass Caught: java.io.FileNotFoundException: my.package.MyClass
我期待最后一个命令工作.我尝试了各种设置类路径的方法,但无济于事.
Rob*_*anu 15
首先,package是一个保留关键字,因此您不能将其用作包名.
其次,你不能在Groovy中这样做,因为点符号用于类,而不是用于脚本,所以你需要一个编译的类文件来使用它.
您仍然可以使用java + classpath替换groovy命令:
java -cp /usr/share/java/groovy/embeddable/groovy-all-1.6.3.jar:. my.some.MyClass
例如,你可以为它添加一个别名'g_java',以减少它的冗长.